![]() |
Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms
|
An array based matrix class which size is defined at type specification or object instanciation. More...
#include <matrix.hpp>
Classes | |
class | const_iterator1 |
class | const_iterator2 |
class | iterator1 |
class | iterator2 |
Public Types | |
typedef matrix_reference < self_type > | closure_type |
typedef const matrix_reference < const self_type > | const_closure_type |
typedef const T * | const_pointer |
typedef const T & | const_reference |
typedef reverse_iterator_base1 < const_iterator1 > | const_reverse_iterator1 |
typedef reverse_iterator_base2 < const_iterator2 > | const_reverse_iterator2 |
typedef c_matrix< T, N, M > | container_type |
typedef std::ptrdiff_t | difference_type |
typedef c_matrix< T, N, M > | expression_type |
typedef self_type | matrix_temporary_type |
typedef row_major_tag | orientation_category |
typedef T * | pointer |
typedef T & | reference |
typedef reverse_iterator_base1 < iterator1 > | reverse_iterator1 |
typedef reverse_iterator_base2 < iterator2 > | reverse_iterator2 |
typedef std::size_t | size_type |
typedef dense_tag | storage_category |
typedef matrix_tag | type_category |
typedef T | value_type |
typedef c_vector< T, N *M > | vector_temporary_type |
Public Member Functions | |
BOOST_UBLAS_INLINE | c_matrix () |
BOOST_UBLAS_INLINE | c_matrix (size_type size1, size_type size2) |
template<class AE > | |
BOOST_UBLAS_INLINE | c_matrix (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE | c_matrix (const c_matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | assign (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE c_matrix & | assign_temporary (c_matrix &m) |
BOOST_UBLAS_INLINE reference | at_element (size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator1 | begin1 () const |
BOOST_UBLAS_INLINE iterator1 | begin1 () |
BOOST_UBLAS_INLINE const_iterator2 | begin2 () const |
BOOST_UBLAS_INLINE iterator2 | begin2 () |
BOOST_UBLAS_INLINE void | clear () |
BOOST_UBLAS_INLINE pointer | data () |
BOOST_UBLAS_INLINE const_pointer | data () const |
BOOST_UBLAS_INLINE const_iterator1 | end1 () const |
BOOST_UBLAS_INLINE iterator1 | end1 () |
BOOST_UBLAS_INLINE const_iterator2 | end2 () const |
BOOST_UBLAS_INLINE iterator2 | end2 () |
BOOST_UBLAS_INLINE const_iterator1 | find1 (int rank, size_type i, size_type j) const |
BOOST_UBLAS_INLINE iterator1 | find1 (int rank, size_type i, size_type j) |
BOOST_UBLAS_INLINE iterator2 | find2 (int rank, size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator2 | find2 (int rank, size_type i, size_type j) const |
BOOST_UBLAS_INLINE reference | insert_element (size_type i, size_type j, const_reference t) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | minus_assign (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE container_type & | operator() () |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i, size_type j) const |
BOOST_UBLAS_INLINE const container_type & | operator() () const |
BOOST_UBLAS_INLINE reference | operator() (size_type i, size_type j) |
template<class AT > | |
BOOST_UBLAS_INLINE c_matrix & | operator*= (const AT &at) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | operator+= (const matrix_expression< AE > &ae) |
template<class C > | |
BOOST_UBLAS_INLINE c_matrix & | operator+= (const matrix_container< C > &m) |
template<class C > | |
BOOST_UBLAS_INLINE c_matrix & | operator-= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | operator-= (const matrix_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE c_matrix & | operator/= (const AT &at) |
template<class C > | |
BOOST_UBLAS_INLINE c_matrix & | operator= (const matrix_container< C > &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | operator= (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE c_matrix & | operator= (const c_matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE c_matrix & | plus_assign (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE reverse_iterator1 | rbegin1 () |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rbegin1 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rbegin2 () |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rbegin2 () const |
BOOST_UBLAS_INLINE reverse_iterator1 | rend1 () |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rend1 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rend2 () |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rend2 () const |
BOOST_UBLAS_INLINE void | resize (size_type size1, size_type size2, bool preserve=true) |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
BOOST_UBLAS_INLINE size_type | size1 () const |
BOOST_UBLAS_INLINE size_type | size2 () const |
BOOST_UBLAS_INLINE void | swap (c_matrix &m) |
Static Public Attributes | |
static const unsigned | complexity |
Private Types | |
typedef const_pointer | const_subiterator_type |
typedef c_matrix< T, N, M > | self_type |
typedef pointer | subiterator_type |
Private Attributes | |
value_type | data_ [N][M] |
size_type | size1_ |
size_type | size2_ |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (c_matrix &m1, c_matrix &m2) |
An array based matrix class which size is defined at type specification or object instanciation.
This matrix is directly based on a predefined C-style arry of data, thus providing the fastest implementation possible. The constraint is that dimensions of the matrix must be specified at the instanciation or the type specification.
For instance,
typedef c_matrix<double,4,4> my_4by4_matrix
defines a 4 by 4 double-precision matrix. You can also instantiate it directly with
c_matrix<int,8,5> my_fast_matrix
. This will make a 8 by 5 integer matrix. The price to pay for this speed is that you cannot resize it to a size larger than the one defined in the template parameters. In the previous example, a size of 4 by 5 or 3 by 2 is acceptable, but a new size of 9 by 5 or even 10 by 10 will raise a bad_size() exception.
T | the type of object stored in the matrix (like double, float, complex, etc...) |
N | the default maximum number of rows |
M | the default maximum number of columns |
Definition at line 3450 of file matrix.hpp.
typedef c_matrix<T, N, M> boost::numeric::ublas::c_matrix< T, N, M >::self_type [private] |
Reimplemented from boost::numeric::ublas::matrix_expression< c_matrix< T, N, M > >.
Definition at line 3453 of file matrix.hpp.
typedef std::size_t boost::numeric::ublas::c_matrix< T, N, M >::size_type |
Definition at line 3458 of file matrix.hpp.
typedef std::ptrdiff_t boost::numeric::ublas::c_matrix< T, N, M >::difference_type |
Definition at line 3459 of file matrix.hpp.
typedef T boost::numeric::ublas::c_matrix< T, N, M >::value_type |
Definition at line 3460 of file matrix.hpp.
typedef const T& boost::numeric::ublas::c_matrix< T, N, M >::const_reference |
Definition at line 3461 of file matrix.hpp.
typedef T& boost::numeric::ublas::c_matrix< T, N, M >::reference |
Definition at line 3462 of file matrix.hpp.
typedef const T* boost::numeric::ublas::c_matrix< T, N, M >::const_pointer |
Definition at line 3463 of file matrix.hpp.
typedef T* boost::numeric::ublas::c_matrix< T, N, M >::pointer |
Definition at line 3464 of file matrix.hpp.
typedef const matrix_reference<const self_type> boost::numeric::ublas::c_matrix< T, N, M >::const_closure_type |
Definition at line 3465 of file matrix.hpp.
typedef matrix_reference<self_type> boost::numeric::ublas::c_matrix< T, N, M >::closure_type |
Definition at line 3466 of file matrix.hpp.
typedef c_vector<T, N * M> boost::numeric::ublas::c_matrix< T, N, M >::vector_temporary_type |
Definition at line 3467 of file matrix.hpp.
typedef self_type boost::numeric::ublas::c_matrix< T, N, M >::matrix_temporary_type |
Definition at line 3468 of file matrix.hpp.
typedef dense_tag boost::numeric::ublas::c_matrix< T, N, M >::storage_category |
Definition at line 3469 of file matrix.hpp.
typedef row_major_tag boost::numeric::ublas::c_matrix< T, N, M >::orientation_category |
Definition at line 3473 of file matrix.hpp.
typedef const_pointer boost::numeric::ublas::c_matrix< T, N, M >::const_subiterator_type [private] |
Definition at line 3686 of file matrix.hpp.
typedef pointer boost::numeric::ublas::c_matrix< T, N, M >::subiterator_type [private] |
Definition at line 3687 of file matrix.hpp.
typedef reverse_iterator_base1<const_iterator1> boost::numeric::ublas::c_matrix< T, N, M >::const_reverse_iterator1 |
Definition at line 3699 of file matrix.hpp.
typedef reverse_iterator_base1<iterator1> boost::numeric::ublas::c_matrix< T, N, M >::reverse_iterator1 |
Definition at line 3702 of file matrix.hpp.
typedef reverse_iterator_base2<const_iterator2> boost::numeric::ublas::c_matrix< T, N, M >::const_reverse_iterator2 |
Definition at line 3703 of file matrix.hpp.
typedef reverse_iterator_base2<iterator2> boost::numeric::ublas::c_matrix< T, N, M >::reverse_iterator2 |
Definition at line 3704 of file matrix.hpp.
typedef c_matrix< T, N, M > boost::numeric::ublas::matrix_container< c_matrix< T, N, M > >::container_type [inherited] |
Definition at line 488 of file expression_types.hpp.
typedef matrix_tag boost::numeric::ublas::matrix_container< c_matrix< T, N, M > >::type_category [inherited] |
Reimplemented from boost::numeric::ublas::matrix_expression< c_matrix< T, N, M > >.
Definition at line 489 of file expression_types.hpp.
typedef c_matrix< T, N, M > boost::numeric::ublas::matrix_expression< c_matrix< T, N, M > >::expression_type [inherited] |
Reimplemented from boost::numeric::ublas::ublas_expression< c_matrix< T, N, M > >.
Definition at line 313 of file expression_types.hpp.
BOOST_UBLAS_INLINE boost::numeric::ublas::c_matrix< T, N, M >::c_matrix | ( | ) | [inline] |
Definition at line 3477 of file matrix.hpp.
BOOST_UBLAS_INLINE boost::numeric::ublas::c_matrix< T, N, M >::c_matrix | ( | size_type | size1, |
size_type | size2 | ||
) | [inline] |
Definition at line 3481 of file matrix.hpp.
BOOST_UBLAS_INLINE boost::numeric::ublas::c_matrix< T, N, M >::c_matrix | ( | const c_matrix< T, N, M > & | m | ) | [inline] |
Definition at line 3487 of file matrix.hpp.
BOOST_UBLAS_INLINE boost::numeric::ublas::c_matrix< T, N, M >::c_matrix | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3495 of file matrix.hpp.
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::c_matrix< T, N, M >::size1 | ( | ) | const [inline] |
Definition at line 3504 of file matrix.hpp.
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::c_matrix< T, N, M >::size2 | ( | ) | const [inline] |
Definition at line 3508 of file matrix.hpp.
BOOST_UBLAS_INLINE const_pointer boost::numeric::ublas::c_matrix< T, N, M >::data | ( | ) | const [inline] |
Definition at line 3512 of file matrix.hpp.
BOOST_UBLAS_INLINE pointer boost::numeric::ublas::c_matrix< T, N, M >::data | ( | ) | [inline] |
Definition at line 3516 of file matrix.hpp.
BOOST_UBLAS_INLINE void boost::numeric::ublas::c_matrix< T, N, M >::resize | ( | size_type | size1, |
size_type | size2, | ||
bool | preserve = true |
||
) | [inline] |
Definition at line 3522 of file matrix.hpp.
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::c_matrix< T, N, M >::operator() | ( | size_type | i, |
size_type | j | ||
) | const [inline] |
Definition at line 3545 of file matrix.hpp.
BOOST_UBLAS_INLINE reference boost::numeric::ublas::c_matrix< T, N, M >::at_element | ( | size_type | i, |
size_type | j | ||
) | [inline] |
Definition at line 3551 of file matrix.hpp.
BOOST_UBLAS_INLINE reference boost::numeric::ublas::c_matrix< T, N, M >::operator() | ( | size_type | i, |
size_type | j | ||
) | [inline] |
Definition at line 3557 of file matrix.hpp.
BOOST_UBLAS_INLINE reference boost::numeric::ublas::c_matrix< T, N, M >::insert_element | ( | size_type | i, |
size_type | j, | ||
const_reference | t | ||
) | [inline] |
Definition at line 3563 of file matrix.hpp.
BOOST_UBLAS_INLINE void boost::numeric::ublas::c_matrix< T, N, M >::clear | ( | ) | [inline] |
Definition at line 3569 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator= | ( | const c_matrix< T, N, M > & | m | ) | [inline] |
Definition at line 3585 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator= | ( | const matrix_container< C > & | m | ) | [inline] |
Definition at line 3595 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::assign_temporary | ( | c_matrix< T, N, M > & | m | ) | [inline] |
Definition at line 3601 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator= | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3607 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::assign | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3613 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator+= | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3619 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator+= | ( | const matrix_container< C > & | m | ) | [inline] |
Definition at line 3625 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::plus_assign | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3631 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator-= | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3637 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator-= | ( | const matrix_container< C > & | m | ) | [inline] |
Definition at line 3643 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::minus_assign | ( | const matrix_expression< AE > & | ae | ) | [inline] |
Definition at line 3649 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator*= | ( | const AT & | at | ) | [inline] |
Definition at line 3655 of file matrix.hpp.
BOOST_UBLAS_INLINE c_matrix& boost::numeric::ublas::c_matrix< T, N, M >::operator/= | ( | const AT & | at | ) | [inline] |
Definition at line 3661 of file matrix.hpp.
BOOST_UBLAS_INLINE void boost::numeric::ublas::c_matrix< T, N, M >::swap | ( | c_matrix< T, N, M > & | m | ) | [inline] |
Definition at line 3668 of file matrix.hpp.
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::find1 | ( | int | rank, |
size_type | i, | ||
size_type | j | ||
) | const [inline] |
Definition at line 3708 of file matrix.hpp.
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::c_matrix< T, N, M >::find1 | ( | int | rank, |
size_type | i, | ||
size_type | j | ||
) | [inline] |
Definition at line 3716 of file matrix.hpp.
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::find2 | ( | int | rank, |
size_type | i, | ||
size_type | j | ||
) | const [inline] |
Definition at line 3724 of file matrix.hpp.
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::c_matrix< T, N, M >::find2 | ( | int | rank, |
size_type | i, | ||
size_type | j | ||
) | [inline] |
Definition at line 3732 of file matrix.hpp.
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::begin1 | ( | ) | const [inline] |
Definition at line 3878 of file matrix.hpp.
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::end1 | ( | ) | const [inline] |
Definition at line 3882 of file matrix.hpp.
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::c_matrix< T, N, M >::begin1 | ( | ) | [inline] |
Definition at line 4021 of file matrix.hpp.
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::c_matrix< T, N, M >::end1 | ( | ) | [inline] |
Definition at line 4025 of file matrix.hpp.
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::begin2 | ( | ) | const [inline] |
Definition at line 4166 of file matrix.hpp.
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::end2 | ( | ) | const [inline] |
Definition at line 4170 of file matrix.hpp.
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::c_matrix< T, N, M >::begin2 | ( | ) | [inline] |
Definition at line 4308 of file matrix.hpp.
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::c_matrix< T, N, M >::end2 | ( | ) | [inline] |
Definition at line 4312 of file matrix.hpp.
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::rbegin1 | ( | ) | const [inline] |
Definition at line 4319 of file matrix.hpp.
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::rend1 | ( | ) | const [inline] |
Definition at line 4323 of file matrix.hpp.
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::rbegin1 | ( | ) | [inline] |
Definition at line 4328 of file matrix.hpp.
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::c_matrix< T, N, M >::rend1 | ( | ) | [inline] |
Definition at line 4332 of file matrix.hpp.
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::rbegin2 | ( | ) | const [inline] |
Definition at line 4337 of file matrix.hpp.
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::rend2 | ( | ) | const [inline] |
Definition at line 4341 of file matrix.hpp.
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::rbegin2 | ( | ) | [inline] |
Definition at line 4346 of file matrix.hpp.
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::c_matrix< T, N, M >::rend2 | ( | ) | [inline] |
Definition at line 4350 of file matrix.hpp.
void boost::numeric::ublas::c_matrix< T, N, M >::serialize | ( | Archive & | ar, |
const unsigned | int | ||
) | [inline] |
Definition at line 4356 of file matrix.hpp.
BOOST_UBLAS_INLINE const container_type& boost::numeric::ublas::matrix_container< c_matrix< T, N, M > >::operator() | ( | ) | const [inline, inherited] |
Reimplemented from boost::numeric::ublas::matrix_expression< c_matrix< T, N, M > >.
Definition at line 492 of file expression_types.hpp.
BOOST_UBLAS_INLINE container_type& boost::numeric::ublas::matrix_container< c_matrix< T, N, M > >::operator() | ( | ) | [inline, inherited] |
Reimplemented from boost::numeric::ublas::matrix_expression< c_matrix< T, N, M > >.
Definition at line 496 of file expression_types.hpp.
BOOST_UBLAS_INLINE friend void swap | ( | c_matrix< T, N, M > & | m1, |
c_matrix< T, N, M > & | m2 | ||
) | [friend] |
Definition at line 3679 of file matrix.hpp.
size_type boost::numeric::ublas::c_matrix< T, N, M >::size1_ [private] |
Definition at line 4377 of file matrix.hpp.
size_type boost::numeric::ublas::c_matrix< T, N, M >::size2_ [private] |
Definition at line 4378 of file matrix.hpp.
value_type boost::numeric::ublas::c_matrix< T, N, M >::data_[N][M] [private] |
Definition at line 4379 of file matrix.hpp.
const unsigned boost::numeric::ublas::matrix_container< c_matrix< T, N, M > >::complexity [static, inherited] |
Reimplemented from boost::numeric::ublas::matrix_expression< c_matrix< T, N, M > >.
Definition at line 487 of file expression_types.hpp.