 Overview of Matrix- and Vector-Types
Overview of Matrix- and Vector-Types | T | is the data type. For general linear algebra operations this will be a real type e.g. double, ... | 
| F | is the orientation type (functor), either row_majororcolumn_major | 
| A, IA, TA | is an array storage type, e.g. std::vector,
bounded_array, unbounded_array, ... | 
| TRI | is a triangular functor: lower,
unit_lower, strict_lower, upper, unit_upper,
strict_upper | 
| M, N | are unsigned integer sizes 
( std::size_t) | 
| IB | is an index base
( std::size_t) | 
| VEC | is any vector type | 
| MAT | is any matrix type | 
| [...] | denote optional arguments - for more details look at the section "storage layout". | 
| Definition | Description | 
|---|---|
| vector<T [, A]> | a dense vector of values of type Tof variable
size. A storage typeAcan be specified
which defaults tounbounded_array.
Elements are constructed byA, which need not initialise their value. | 
| bounded_vector<T, N> | a dense vector of values of type Tof variable size but with maximumN. The default constructor createsvwith sizeN.
Elements are constructed by the storage typebounded_array, which need not initialise their value. | 
| c_vector<T, M> | a dense vector of values of type Twith the given size.
The data is stored as an ordinary C++ arrayT
data_[M] | 
| zero_vector<T> | the zero vector of type Twith the given
size. | 
| unit_vector<T> | the unit vector of type Twith the given size. The
vector is zero other then a single specified element.indexshould be less thansize. | 
| mapped_vector<T [, S]> | a sparse vector of values of type Tof variable
size. The sparse storage typeScan bestd::map<size_t,
T>ormap_array<size_t, T>. | 
| compressed_vector<T [,IB, IA, TA]> | a sparse vector of values of type Tof variable
size. The non zero values are stored as two seperate arrays - an
index array and a value array. The index array is always sorted and
there is at most one entry for each index. | 
| coordinate_vector<T [,IB, IA, TA]> | a sparse vector of values of type Tof variable
size. The non zero values are stored as two seperate arrays - an
index array and a value array. The arrays may be out of order with
multiple entries for each vector element. If there are multiple
values for the same index the sum of these values is the real
value. | 
Note: the default types are defined in
boost/numeric/ublas/fwd.hpp.
| Definition | Description | 
|---|---|
| vector_range<VEC> | a vector referencing a continuous subvector of elements of
vector vcontaining all elements specified byrange. | 
| vector_slice<VEC> | a vector referencing a non continuous subvector of elements of
vector vcontaining all elements specified byslice. | 
| matrix_row<MAT> | a vector referencing the index-th row of matrixm | 
| matrix_column<MAT> | a vector referencing the index-th column of matrixm | 
| Definition | Description | 
|---|---|
| matrix<T [, F, A]> | a dense matrix of values of type Tof variable
size.  A storage typeAcan be specified
which defaults tounbounded_array.
The orientation functorFdefaults torow_major.
Elements are constructed byA, which need not initialise their value. | 
| bounded_matrix<T, M, N [, F]> | a dense matrix of type Twith variable size with maximumM-by-N. The orientation functorFdefaults torow_major. The default constructor createsmwith sizeM-by-N.
Elements are constructed by the storage typebounded_array, which need not initialise their value. | 
| c_matrix<T, M, N> | a dense matrix of values of type Twith the given size.
The data is stored as an ordinary C++ arrayT
data_[N][M] | 
| vector_of_vector<T [, F, A]> | a dense matrix of values of type Twith the given size.
The data is stored as a vector of vectors. The orientationFdefaults torow_major. The storage
typeSdefaults tounbounded_array<unbounded_array<T> > | 
| zero_matrix<T> | a zero matrix of type Twith the given size. | 
| identity_matrix<T> | an identity matrix of type Twith the given size.
The values arev(i,j) = (i==j)?T(1):T(). | 
| scalar_matrix<T> | a matrix of type Twith the given size that has the
valuevalueeverywhere. | 
| triangular_matrix<T [, TRI, F, A]> | a triangular matrix of values of type Tof
variable size. Only the nonzero elements are stored in the given
orderF. ("triangular packed storage") The triangular
typeFdefaults tolower, the orientation
typeFdefaults torow_major. | 
| banded_matrix<T [, F, A]> | a banded matrix of values of type Tof variable
size withn_lowersub diagonals andn_uppersuper diagonals. Only the nonzero elements are
stored in the given orderF. ("packed storage") | 
| symmetric_matrix<T [, TRI, F, A]> | a symmetric matrix of values of type Tof
variable size. Only the given triangular matrix is stored in the
given orderF. | 
| hermitian_matrix<T [, TRI, F, A]> | a hermitian matrix of values of type Tof
variable size. Only the given triangular matrix is stored using
the orderF. | 
| mapped_matrix<T, [F, S]> | a sparse matrix of values of type Tof variable
size. The sparse storage typeScan be eitherstd::map<size_t,
std::map<size_t, T> >ormap_array<size_t, map_array<size_t,
T> >. | 
| sparse_vector_of_sparse_vector<T, [F, C]> | a sparse matrix of values of type Tof variable
size. | 
| compressed_matrix<T, [F, IB, IA, TA]> | a sparse matrix of values of type Tof variable
size. The values are stored in compressed row/column storage. | 
| coordinate_matrix<T, [F, IB, IA, TA]> | a sparse matrix of values of type Tof variable
size. The values are stored in 3 parallel array as triples (i, j,
value). More than one value for each pair of indices is possible,
the real value is the sum of all. | 
| generalized_vector_of_vector<T, F, A> | a sparse matrix of values of type Tof variable
size. The values are stored as a vector of sparse vectors, e.g.generalized_vector_of_vector<double, row_major,
unbounded_array<coordinate_vector<double> > > | 
Note: the default types are defined in
boost/numeric/ublas/fwd.hpp.
| Definition | Description | 
|---|---|
| triangular_adaptor<MAT, TRI> | a triangular matrix referencing a selection of elements of the
matrix m. | 
| symmetric_adaptor<MAT, TRI> | a symmetric matrix referencing a selection of elements of the
matrix m. | 
| hermitian_adaptor<MAT, TRI> | a hermitian matrix referencing a selection of elements of the
matrix m. | 
| banded_adaptor<MAT> | a banded matrix referencing a selection of elements of the
matrix m. | 
| matrix_range<MAT, TRI> | a matrix referencing a submatrix of elements in the matrix m. | 
| matrix_slice<MAT, TRI> | a matrix referencing a non continues submatrix of elements in
the matrix m. | 
The library supports conventional dense, packed and basic sparse vector and matrix storage layouts. The description of the most common constructions of vectors and matrices comes next.
| Construction | Comment | 
|---|---|
| vector<T, | a dense vector, storage is provided by a standard
vector. The storage layout usually is BLAS compliant. | 
| vector<T, | a dense vector, storage is provided by a heap-based
array. The storage layout usually is BLAS compliant. | 
| vector<T, | a dense vector, storage is provided by a stack-based
array. The storage layout usually is BLAS compliant. | 
| mapped_vector<T, | a sparse vector, storage is provided by a standard map. | 
| mapped_vector<T, | a sparse vector, storage is provided by a map array. | 
| matrix<T, | a dense matrix, orientation is row major, storage is provided by a standard vector. | 
| matrix<T, | a dense matrix, orientation is column major, storage
is provided by a standard vector. The storage layout usually is BLAS compliant. | 
| matrix<T, | a dense matrix, orientation is row major, storage is provided by a heap-based array. | 
| matrix<T, | a dense matrix, orientation is column major, storage
is provided by a heap-based array. The storage layout usually is BLAS compliant. | 
| matrix<T, | a dense matrix, orientation is row major, storage is provided by a stack-based array. | 
| matrix<T, | a dense matrix, orientation is column major, storage
is provided by a stack-based array. The storage layout usually is BLAS compliant. | 
| triangular_matrix<T, | a packed triangular matrix, orientation is row major. | 
| triangular_matrix<T, | a packed triangular matrix, orientation is column
major. The storage layout usually is BLAS compliant. | 
| banded_matrix<T, | a packed banded matrix, orientation is row major. | 
| banded_matrix<T, | a packed banded matrix, orientation is column
major. The storage layout usually is BLAS compliant. | 
| symmetric_matrix<T, | a packed symmetric matrix, orientation is row major. | 
| symmetric_matrix<T, | a packed symmetric matrix, orientation is column
major. The storage layout usually is BLAS compliant. | 
| hermitian_matrix<T, | a packed hermitian matrix, orientation is row major. | 
| hermitian_matrix<T, | a packed hermitian matrix, orientation is column
major. The storage layout usually is BLAS compliant. | 
| mapped_matrix<T, | a sparse matrix, orientation is row major, storage is provided by a standard map. | 
| mapped_matrix<T, | a sparse matrix, orientation is column major, storage is provided by a standard map. | 
| mapped_matrix<T, | a sparse matrix, orientation is row major, storage is provided by a map array. | 
| mapped_matrix<T, | a sparse matrix, orientation is column major, storage is provided by a map array. | 
| compressed_matrix<T, | a compressed matrix, orientation is row major. The storage layout usually is BLAS compliant. | 
| compressed_matrix<T, | a compressed matrix, orientation is column
major. The storage layout usually is BLAS compliant. | 
| coordinate_matrix<T, | a coordinate matrix, orientation is row major. The storage layout usually is BLAS compliant. | 
| coordinate_matrix<T, | a coordinate matrix, orientation is column
major. The storage layout usually is BLAS compliant. | 
Copyright (©) 2000-2004 Joerg Walter, Mathias Koch, Gunter
Winkler, Michael Stevens
   Use, modification and distribution are subject to the
   Boost Software License, Version 1.0.
   (See accompanying file LICENSE_1_0.txt
   or copy at 
      http://www.boost.org/LICENSE_1_0.txt
   ).