...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
A hermitian matrix of values of type T
.
More...
Inherits matrix_container< hermitian_matrix< T, TRI, L, A > >.
Classes | |
class | const_iterator1 |
class | const_iterator2 |
class | iterator1 |
class | iterator2 |
Public Types | |
typedef A::size_type | size_type |
typedef A::difference_type | difference_type |
typedef T | value_type |
typedef const T | const_reference |
typedef T & | reference |
typedef A | array_type |
typedef const matrix_reference < const self_type > | const_closure_type |
typedef matrix_reference < self_type > | closure_type |
typedef vector< T, A > | vector_temporary_type |
typedef matrix< T, L, A > | matrix_temporary_type |
typedef packed_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 |
Public Member Functions | |
BOOST_UBLAS_INLINE | hermitian_matrix (size_type size) |
BOOST_UBLAS_INLINE | hermitian_matrix (size_type size1, size_type size2) |
BOOST_UBLAS_INLINE | hermitian_matrix (size_type size, const array_type &data) |
BOOST_UBLAS_INLINE | hermitian_matrix (const hermitian_matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE | hermitian_matrix (const matrix_expression< AE > &ae) |
BOOST_UBLAS_INLINE size_type | size1 () const |
BOOST_UBLAS_INLINE size_type | size2 () const |
BOOST_UBLAS_INLINE const array_type & | data () const |
BOOST_UBLAS_INLINE array_type & | data () |
BOOST_UBLAS_INLINE void | resize (size_type size, bool preserve=true) |
BOOST_UBLAS_INLINE void | resize (size_type size1, size_type size2, bool preserve=true) |
BOOST_UBLAS_INLINE void | resize_packed_preserve (size_type size) |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i, size_type j) const |
BOOST_UBLAS_INLINE true_reference | at_element (size_type i, size_type j) |
BOOST_UBLAS_INLINE reference | operator() (size_type i, size_type j) |
BOOST_UBLAS_INLINE true_reference | insert_element (size_type i, size_type j, const_reference t) |
BOOST_UBLAS_INLINE void | erase_element (size_type i, size_type j) |
BOOST_UBLAS_INLINE void | clear () |
BOOST_UBLAS_INLINE hermitian_matrix & | operator= (const hermitian_matrix &m) |
BOOST_UBLAS_INLINE hermitian_matrix & | assign_temporary (hermitian_matrix &m) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_matrix & | operator= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_matrix & | assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_matrix & | operator+= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_matrix & | plus_assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_matrix & | operator-= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_matrix & | minus_assign (const matrix_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE hermitian_matrix & | operator*= (const AT &at) |
template<class AT > | |
BOOST_UBLAS_INLINE hermitian_matrix & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE void | swap (hermitian_matrix &m) |
BOOST_UBLAS_INLINE const_iterator1 | find1 (int, size_type i, size_type j) const |
BOOST_UBLAS_INLINE iterator1 | find1 (int rank, 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 rank, size_type i, size_type j) |
BOOST_UBLAS_INLINE const_iterator1 | begin1 () const |
BOOST_UBLAS_INLINE const_iterator1 | end1 () const |
BOOST_UBLAS_INLINE iterator1 | begin1 () |
BOOST_UBLAS_INLINE iterator1 | end1 () |
BOOST_UBLAS_INLINE const_iterator2 | begin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | end2 () const |
BOOST_UBLAS_INLINE iterator2 | begin2 () |
BOOST_UBLAS_INLINE iterator2 | end2 () |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rbegin1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rend1 () const |
BOOST_UBLAS_INLINE reverse_iterator1 | rbegin1 () |
BOOST_UBLAS_INLINE reverse_iterator1 | rend1 () |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rbegin2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rend2 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rbegin2 () |
BOOST_UBLAS_INLINE reverse_iterator2 | rend2 () |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (hermitian_matrix &m1, hermitian_matrix &m2) |
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. And , .
Orientation and storage can also be specified, otherwise a row major and unbounded array are used. It is not required by the storage to initialize elements of the matrix. Moreover, only the given triangular matrix is stored and the storage of hermitian matrices is packed.
See http://en.wikipedia.org/wiki/Hermitian_matrix for more details on hermitian matrices.
T | the type of object stored in the matrix (like double, float, complex, etc...) | |
TRI | the type of triangular matrix is either lower or upper . Default is lower | |
L | the storage organization. It is either row_major or column_major . Default is row_major | |
A | the type of Storage array. Default is . |