A Hermitian matrix adaptator: convert a any matrix into a Hermitian matrix expression. More...
#include <hermitian.hpp>
Classes | |
class | const_iterator1 |
class | const_iterator2 |
class | iterator1 |
class | iterator2 |
Public Types | |
typedef const M | const_matrix_type |
typedef M | matrix_type |
typedef TRI | triangular_type |
typedef M::size_type | size_type |
typedef M::difference_type | difference_type |
typedef M::value_type | value_type |
typedef M::value_type | const_reference |
typedef boost::mpl::if_ < boost::is_const< M > , typename M::value_type, typename M::reference >::type | reference |
typedef boost::mpl::if_ < boost::is_const< M > , typename M::const_closure_type, typename M::closure_type > ::type | matrix_closure_type |
typedef const self_type | const_closure_type |
typedef self_type | closure_type |
typedef storage_restrict_traits < typename M::storage_category, packed_proxy_tag > ::storage_category | storage_category |
typedef M::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 hermitian_adaptor< M, TRI > | expression_type |
typedef matrix_tag | type_category |
Public Member Functions | |
BOOST_UBLAS_INLINE | hermitian_adaptor (matrix_type &data) |
BOOST_UBLAS_INLINE | hermitian_adaptor (const hermitian_adaptor &m) |
BOOST_UBLAS_INLINE size_type | size1 () const |
BOOST_UBLAS_INLINE size_type | size2 () const |
BOOST_UBLAS_INLINE const matrix_closure_type & | data () const |
BOOST_UBLAS_INLINE matrix_closure_type & | data () |
BOOST_UBLAS_INLINE const_reference | operator() (size_type i, size_type j) const |
BOOST_UBLAS_INLINE reference | operator() (size_type i, size_type j) |
BOOST_UBLAS_INLINE true_reference | insert_element (size_type i, size_type j, value_type t) |
BOOST_UBLAS_INLINE hermitian_adaptor & | operator= (const hermitian_adaptor &m) |
BOOST_UBLAS_INLINE hermitian_adaptor & | assign_temporary (hermitian_adaptor &m) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | operator= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | operator+= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | plus_assign (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | operator-= (const matrix_expression< AE > &ae) |
template<class AE > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | minus_assign (const matrix_expression< AE > &ae) |
template<class AT > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | operator*= (const AT &at) |
template<class AT > | |
BOOST_UBLAS_INLINE hermitian_adaptor & | operator/= (const AT &at) |
BOOST_UBLAS_INLINE bool | same_closure (const hermitian_adaptor &ha) const |
BOOST_UBLAS_INLINE void | swap (hermitian_adaptor &m) |
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 const_iterator2 | find2 (int rank, 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 | cbegin1 () const |
BOOST_UBLAS_INLINE const_iterator1 | end1 () const |
BOOST_UBLAS_INLINE const_iterator1 | cend1 () const |
BOOST_UBLAS_INLINE iterator1 | begin1 () |
BOOST_UBLAS_INLINE iterator1 | end1 () |
BOOST_UBLAS_INLINE const_iterator2 | begin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | cbegin2 () const |
BOOST_UBLAS_INLINE const_iterator2 | end2 () const |
BOOST_UBLAS_INLINE const_iterator2 | cend2 () 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 | crbegin1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | rend1 () const |
BOOST_UBLAS_INLINE const_reverse_iterator1 | crend1 () 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 | crbegin2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | rend2 () const |
BOOST_UBLAS_INLINE const_reverse_iterator2 | crend2 () const |
BOOST_UBLAS_INLINE reverse_iterator2 | rbegin2 () |
BOOST_UBLAS_INLINE reverse_iterator2 | rend2 () |
BOOST_UBLAS_INLINE const expression_type & | operator() () const |
BOOST_UBLAS_INLINE expression_type & | operator() () |
Static Public Attributes | |
static const unsigned | complexity |
Friends | |
BOOST_UBLAS_INLINE friend void | swap (hermitian_adaptor &m1, hermitian_adaptor &m2) |
A Hermitian matrix adaptator: convert a any matrix into a Hermitian matrix expression.
For a -dimensional matrix, the hermitian_adaptor
will provide a hermitian matrix. Storage and location are based on those of the underlying matrix. This is important because a hermitian_adaptor
does not copy the matrix data to a new place. Therefore, modifying values in a hermitian_adaptor
matrix will also modify the underlying matrix too.
M | the type of matrix used to generate a hermitian matrix |
typedef self_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::closure_type |
typedef const self_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_closure_type |
typedef const M boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_matrix_type |
typedef M::value_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_reference |
typedef reverse_iterator_base1<const_iterator1> boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_reverse_iterator1 |
typedef reverse_iterator_base2<const_iterator2> boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_reverse_iterator2 |
typedef M::difference_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::difference_type |
|
inherited |
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_closure_type, typename M::closure_type>::type boost::numeric::ublas::hermitian_adaptor< M, TRI >::matrix_closure_type |
typedef M boost::numeric::ublas::hermitian_adaptor< M, TRI >::matrix_type |
typedef M::orientation_category boost::numeric::ublas::hermitian_adaptor< M, TRI >::orientation_category |
typedef boost::mpl::if_<boost::is_const<M>, typename M::value_type, typename M::reference>::type boost::numeric::ublas::hermitian_adaptor< M, TRI >::reference |
typedef reverse_iterator_base1<iterator1> boost::numeric::ublas::hermitian_adaptor< M, TRI >::reverse_iterator1 |
typedef reverse_iterator_base2<iterator2> boost::numeric::ublas::hermitian_adaptor< M, TRI >::reverse_iterator2 |
typedef M::size_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::size_type |
typedef storage_restrict_traits<typename M::storage_category, packed_proxy_tag>::storage_category boost::numeric::ublas::hermitian_adaptor< M, TRI >::storage_category |
typedef TRI boost::numeric::ublas::hermitian_adaptor< M, TRI >::triangular_type |
|
inherited |
typedef M::value_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::value_type |
|
inline |
References BOOST_UBLAS_CHECK.
|
inline |
References BOOST_UBLAS_CHECK.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
References boost::numeric::ublas::hermitian_adaptor< M, TRI >::data(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find2(), boost::spirit::x3::unicode::other, boost::numeric::ublas::hermitian_adaptor< M, TRI >::size1(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::size2().
Referenced by boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_iterator2::begin(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::iterator2::begin(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::begin1(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_iterator2::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::iterator2::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::end1(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find1(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::find2().
|
inline |
|
inline |
References boost::numeric::ublas::hermitian_adaptor< M, TRI >::data(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find1(), boost::spirit::x3::unicode::other, boost::numeric::ublas::hermitian_adaptor< M, TRI >::size1(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::size2().
Referenced by boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_iterator1::begin(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::iterator1::begin(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::begin2(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_iterator1::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::iterator1::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::end2(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find1(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::find2().
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inline |
References BOOST_UBLAS_CHECK, boost::numeric::ublas::scalar_traits< T >::conj(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::data(), boost::multiprecision::backends::i, boost::spirit::x3::unicode::other, boost::numeric::ublas::hermitian_adaptor< M, TRI >::size1(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::size2().
|
inline |
References BOOST_UBLAS_CHECK, boost::numeric::ublas::scalar_traits< T >::conj(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::data(), boost::multiprecision::backends::i, boost::spirit::x3::unicode::other, boost::numeric::ublas::external_logic::raise(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::size1(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::size2().
|
inline |
References boost::xpressive::at, and BOOST_UBLAS_CHECK.
|
inline |
|
inline |
|
inline |
References boost::xpressive::at, and BOOST_UBLAS_CHECK.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Referenced by boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_iterator2::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::iterator2::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::end1(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find1(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find2(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::insert_element(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator()().
|
inline |
Referenced by boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_iterator1::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::iterator1::end(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::end2(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find1(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::find2(), boost::numeric::ublas::hermitian_adaptor< M, TRI >::insert_element(), and boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator()().
|
inline |
|
friend |
|
staticinherited |