Collaboration diagram for Linear Algebra library:
![]() |
Modules | |
Non-member C-style functions | |
A vast array of non-object-oriented functions, these methods calculate things and interface between C++ and BLAS. | |
Testing Compatibility | |
Methods that test whether a pair or triple of linear algebraic objects can be combined mathematically. | |
Addition and subtraction | |
Operators that add or subtract one object from another. | |
LinAlg Internals | |
These are parts of the library that aren't usually used by programmers. They provide underlying functionality and interfaces. | |
Data blocks and data views | |
These classes define how the LinAlg library stores numerical data, and provide an abstraction for defining multiple "windows" onto the data. | |
Classes | |
class | DenseVector< T > |
A linear algebraic vector, without any assumptions of sparseness or symmetry. More... | |
class | DenseMatrix< T > |
A linear algebraic matrix, without any assumptions of sparseness or symmetry. More... | |
class | Vector< T > |
The abstract base class for vectors; provides size and element access. More... | |
class | Matrix< T > |
The abstract base class for matrices; provides size/shape and element access. More... | |
class | PermScaleMatrix< T > |
A class for square matrices with exactly one entry in each row and in each column. More... |
Most routines are built on templates, so that vectors and matrices of almost any numerical type can be declared. Many of the templated routines are specialized to use BLAS for objects of type double
and std::complex<double>
(also known as ``complex
''). In addition, some methods exist only for these BLAS types. As of June 2006, float
and std::complex<float>
are not specialized.