A dense matrix of values of type T
with a variable size bounded to a maximum of by .
More...
#include <matrix.hpp>
Public Types | |
typedef matrix_type::size_type | size_type |
typedef bounded_array< T, M *N > ::difference_type | difference_type |
typedef T | value_type |
typedef const T & | const_reference |
typedef T & | reference |
typedef bounded_array< T, M *N > | array_type |
typedef const matrix_reference < const self_type > | const_closure_type |
typedef matrix_reference < self_type > | closure_type |
typedef vector< T, bounded_array< T, M *N > > | vector_temporary_type |
typedef self_type | matrix_temporary_type |
typedef dense_tag | storage_category |
typedef L::orientation_category | orientation_category |
typedef reverse_iterator_base1 < const_iterator1 > | const_reverse_iterator1 |
typedef reverse_iterator_base1 < iterator1 > | reverse_iterator1 |
typedef reverse_iterator_base2 < const_iterator2 > | const_reverse_iterator2 |
typedef reverse_iterator_base2 < iterator2 > | reverse_iterator2 |
typedef matrix< T, L, bounded_array< T, M *N > > | container_type |
typedef matrix_tag | type_category |
typedef E | expression_type |
Public Member Functions | |
BOOST_UBLAS_INLINE | bounded_matrix () |
BOOST_UBLAS_INLINE | bounded_matrix (size_type size1, size_type size2) |
BOOST_UBLAS_INLINE | bounded_matrix (const bounded_matrix &m) |
template<class A2 > | |
BOOST_UBLAS_INLINE | bounded_matrix (const matrix< T, L, A2 > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE | bounded_matrix (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE | ~bounded_matrix () |
BOOST_UBLAS_INLINE bounded_matrix & | operator= (const bounded_matrix &m) |
template<class L2 , class A2 > | |
BOOST_UBLAS_INLINE bounded_matrix & | operator= (const matrix< T, L2, A2 > &m) |
template<class C > | |
BOOST_UBLAS_INLINE bounded_matrix & | operator= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE bounded_matrix & | operator= (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE size_type | size1 () const |
Return the number of rows of the matrix You can also use the free size<>() function in operation/size.hpp as size<1>(m) where m is a matrix. More... | |
BOOST_UBLAS_INLINE size_type | size2 () const |
Return the number of colums of the matrix You can also use the free size<>() function in operation/size.hpp as size<2>(m) where m is a matrix. More... | |
BOOST_UBLAS_INLINE const array_type & | data () const |
Return a constant reference to the internal storage of a dense matrix, i.e. More... | |
BOOST_UBLAS_INLINE array_type & | data () |
Return a reference to the internal storage of a dense matrix, i.e. More... | |
BOOST_UBLAS_INLINE void | resize (size_type size1, size_type size2, bool preserve=true) |
Resize a matrix to new dimensions If data are preserved, then if the size if bigger at least on one dimension, extra values are filled with zeros. More... | |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i, size_type j) const |
Access a matrix element. More... | |
BOOST_UBLAS_INLINE reference | operator() (size_type i, size_type j) |
Access a matrix element. More... | |
BOOST_UBLAS_INLINE const container_type & | operator() () const |
BOOST_UBLAS_INLINE container_type & | operator() () |
BOOST_UBLAS_INLINE reference | at_element (size_type i, size_type j) |
Access a matrix element. More... | |
BOOST_UBLAS_INLINE reference | insert_element (size_type i, size_type j, const_reference t) |
Change the value of a matrix element. More... | |
void | erase_element (size_type i, size_type j) |
Erase the element For most types (int, double, etc...) it means setting 0 (zero) the element at zero in fact. More... | |
BOOST_UBLAS_INLINE void | clear () |
Erase all elements in the matrix For most types (int, double, etc...) it means writing 0 (zero) everywhere. More... | |
BOOST_UBLAS_INLINE matrix & | assign_temporary (matrix &m) |
BOOST_UBLAS_INLINE matrix & | assign (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE matrix & | operator+= (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE matrix & | operator+= (const matrix_container< C > &m) |
BOOST_UBLAS_INLINE matrix & | plus_assign (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE matrix & | operator-= (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE matrix & | operator-= (const matrix_container< C > &m) |
BOOST_UBLAS_INLINE matrix & | minus_assign (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE matrix & | operator*= (const AT &at) |
BOOST_UBLAS_INLINE matrix & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE void | swap (matrix &m) |
BOOST_UBLAS_INLINE const_iterator1 | find1 (int, size_type i, size_type j) const |
BOOST_UBLAS_INLINE iterator1 | find1 (int, size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator2 | find2 (int, size_type i, size_type j) const |
BOOST_UBLAS_INLINE iterator2 | find2 (int, size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator1 | begin1 () const |
BOOST_UBLAS_INLINE iterator1 | begin1 () |
BOOST_UBLAS_INLINE const_iterator1 | cbegin1 () const |
BOOST_UBLAS_INLINE const_iterator1 | end1 () const |
BOOST_UBLAS_INLINE iterator1 | end1 () |
BOOST_UBLAS_INLINE const_iterator1 | cend1 () const |
BOOST_UBLAS_INLINE const_iterator2 | begin2 () const |
BOOST_UBLAS_INLINE iterator2 | begin2 () |
BOOST_UBLAS_INLINE const_iterator2 | cbegin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | end2 () const |
BOOST_UBLAS_INLINE iterator2 | end2 () |
BOOST_UBLAS_INLINE const_iterator2 | cend2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rbegin1 () const |
BOOST_UBLAS_INLINE reverse_iterator1 | rbegin1 () |
BOOST_UBLAS_INLINE const_reverse_iterator1 | crbegin1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rend1 () const |
BOOST_UBLAS_INLINE reverse_iterator1 | rend1 () |
BOOST_UBLAS_INLINE const_reverse_iterator1 | crend1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rbegin2 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rbegin2 () |
BOOST_UBLAS_INLINE const_reverse_iterator2 | crbegin2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rend2 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rend2 () |
BOOST_UBLAS_INLINE const_reverse_iterator2 | crend2 () const |
void | serialize (Archive &ar, const unsigned int) |
Static Public Attributes | |
static const size_type | max_size1 = M |
static const size_type | max_size2 = N |
static const unsigned | complexity |
A dense matrix of values of type T
with a variable size bounded to a maximum of by .
For a -dimensional matrix and , every element is mapped to the -th element of the container for row major orientation or the -th element of the container for column major orientation. Finally in a dense matrix all elements are represented in memory in a contiguous chunk of memory.
Orientation can be specified. Default is row_major
The default constructor creates the matrix with size by . Elements are constructed by the storage type bounded_array
, which need not initialise their value.
T | the type of object stored in the matrix (like double, float, complex, etc...) |
M | maximum and default number of rows (if not specified at construction) |
N | maximum and default number of columns (if not specified at construction) |
L | the storage organization. It can be either row_major or column_major . Default is row_major |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
typedef matrix_type::size_type boost::numeric::ublas::bounded_matrix< T, M, N, L >::size_type |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::swap().
|
inlineinherited |
Access a matrix element.
Here we return a reference
i | the first coordinate of the element. By default it's the row |
j | the second coordinate of the element. By default it's the column |
References boost::numeric::ublas::matrix< T, L, A >::data().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::end1().
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::end2().
|
inlineinherited |
Erase all elements in the matrix For most types (int, double, etc...) it means writing 0 (zero) everywhere.
For user-defined types, it could be another value if you decided it. Your type in that case must contain a default null value.
References boost::numeric::ublas::begin(), boost::numeric::ublas::matrix< T, L, A >::data(), boost::numeric::ublas::end(), and std::fill().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Return a constant reference to the internal storage of a dense matrix, i.e.
the raw data It's type depends on the type used by the matrix to store its data
|
inlineinherited |
Return a reference to the internal storage of a dense matrix, i.e.
the raw data It's type depends on the type used by the matrix to store its data
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Erase the element For most types (int, double, etc...) it means setting 0 (zero) the element at zero in fact.
For user-defined types, it could be another value if you decided it. Your type in that case must contain a default null value.
i | the first coordinate of the element. By default it's the row |
j | the second coordinate of the element. By default it's the column |
References boost::numeric::ublas::matrix< T, L, A >::at_element().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Change the value of a matrix element.
Return back a reference to it
i | the first coordinate of the element. By default it's the row |
j | the second coordinate of the element. By default it's the column |
t | the new value of the element |
References boost::numeric::ublas::matrix< T, L, A >::at_element().
|
inlineinherited |
|
inlineinherited |
Access a matrix element.
Here we return a const reference
i | the first coordinate of the element. By default it's the row |
j | the second coordinate of the element. By default it's the column |
References boost::numeric::ublas::matrix< T, L, A >::data().
|
inlineinherited |
Access a matrix element.
Here we return a reference
i | the first coordinate of the element. By default it's the row |
j | the second coordinate of the element. By default it's the column |
References boost::numeric::ublas::matrix< T, L, A >::at_element().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::xpressive::at.
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
References boost::xpressive::at.
|
inline |
References boost::multiprecision::backends::operator=().
|
inline |
References boost::multiprecision::backends::operator=().
|
inline |
References boost::multiprecision::backends::operator=().
|
inline |
References boost::multiprecision::backends::operator=().
|
inlineinherited |
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::end1().
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::end1().
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::end2().
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::end2().
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
Resize a matrix to new dimensions If data are preserved, then if the size if bigger at least on one dimension, extra values are filled with zeros.
If data are not preserved, then nothing has to be assumed regarding the content of the matrix after resizing.
size1 | the new number of rows |
size2 | the new number of colums |
preserve | a boolean to say if one wants the data to be preserved during the resizing. Default is true. |
References boost::numeric::ublas::matrix< T, L, A >::data(), boost::numeric::ublas::matrix< T, L, A >::size1(), and boost::numeric::ublas::matrix< T, L, A >::size2().
|
inlineinherited |
|
inlineinherited |
Return the number of rows of the matrix You can also use the free size<>() function in operation/size.hpp as size<1>(m) where m is a matrix.
|
inlineinherited |
Return the number of colums of the matrix You can also use the free size<>() function in operation/size.hpp as size<2>(m) where m is a matrix.
|
inlineinherited |
References boost::numeric::ublas::matrix< T, L, A >::data(), and boost::swap.
|
staticinherited |
|
static |
|
static |