Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::numeric::ublas::hermitian_adaptor< M, TRI > Class Template Reference

A Hermitian matrix adaptator: convert a any matrix into a Hermitian matrix expression. More...

#include <hermitian.hpp>

Inheritance diagram for boost::numeric::ublas::hermitian_adaptor< M, TRI >:
Collaboration diagram for boost::numeric::ublas::hermitian_adaptor< M, TRI >:

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)
 

Detailed Description

template<class M, class TRI>
class boost::numeric::ublas::hermitian_adaptor< M, TRI >

A Hermitian matrix adaptator: convert a any matrix into a Hermitian matrix expression.

For a $(m\times n)$-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.

Template Parameters
Mthe type of matrix used to generate a hermitian matrix

Member Typedef Documentation

template<class M , class TRI >
typedef self_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::closure_type
template<class M , class TRI >
typedef const self_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_closure_type
template<class M , class TRI >
typedef const M boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_matrix_type
template<class M , class TRI >
typedef M::value_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_reference
template<class M , class TRI >
typedef reverse_iterator_base1<const_iterator1> boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_reverse_iterator1
template<class M , class TRI >
typedef reverse_iterator_base2<const_iterator2> boost::numeric::ublas::hermitian_adaptor< M, TRI >::const_reverse_iterator2
template<class M , class TRI >
typedef M::difference_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::difference_type
template<class M , class TRI >
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
template<class M , class TRI >
typedef M boost::numeric::ublas::hermitian_adaptor< M, TRI >::matrix_type
template<class M , class TRI >
typedef M::orientation_category boost::numeric::ublas::hermitian_adaptor< M, TRI >::orientation_category
template<class M , class TRI >
typedef boost::mpl::if_<boost::is_const<M>, typename M::value_type, typename M::reference>::type boost::numeric::ublas::hermitian_adaptor< M, TRI >::reference
template<class M , class TRI >
typedef reverse_iterator_base1<iterator1> boost::numeric::ublas::hermitian_adaptor< M, TRI >::reverse_iterator1
template<class M , class TRI >
typedef reverse_iterator_base2<iterator2> boost::numeric::ublas::hermitian_adaptor< M, TRI >::reverse_iterator2
template<class M , class TRI >
typedef M::size_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::size_type
template<class M , class TRI >
typedef storage_restrict_traits<typename M::storage_category, packed_proxy_tag>::storage_category boost::numeric::ublas::hermitian_adaptor< M, TRI >::storage_category
template<class M , class TRI >
typedef TRI boost::numeric::ublas::hermitian_adaptor< M, TRI >::triangular_type
template<class M , class TRI >
typedef M::value_type boost::numeric::ublas::hermitian_adaptor< M, TRI >::value_type

Constructor & Destructor Documentation

template<class M , class TRI >
BOOST_UBLAS_INLINE boost::numeric::ublas::hermitian_adaptor< M, TRI >::hermitian_adaptor ( matrix_type data)
inline

References BOOST_UBLAS_CHECK.

template<class M , class TRI >
BOOST_UBLAS_INLINE boost::numeric::ublas::hermitian_adaptor< M, TRI >::hermitian_adaptor ( const hermitian_adaptor< M, TRI > &  m)
inline

References BOOST_UBLAS_CHECK.

Member Function Documentation

template<class M , class TRI >
template<class AE >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::assign ( const matrix_expression< AE > &  ae)
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::assign_temporary ( hermitian_adaptor< M, TRI > &  m)
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::begin1 ( )
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::begin2 ( )
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::cbegin1 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::cbegin2 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::cend1 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::cend2 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::crbegin1 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::crbegin2 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::crend1 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::crend2 ( ) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE matrix_closure_type& boost::numeric::ublas::hermitian_adaptor< M, TRI >::data ( )
inline
template<class M , class TRI >
template<class AE >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::minus_assign ( const matrix_expression< AE > &  ae)
inline
BOOST_UBLAS_INLINE const expression_type& boost::numeric::ublas::matrix_expression< hermitian_adaptor< M, TRI > >::operator() ( ) const
inlineinherited
BOOST_UBLAS_INLINE expression_type& boost::numeric::ublas::matrix_expression< hermitian_adaptor< M, TRI > >::operator() ( )
inlineinherited
template<class M , class TRI >
template<class AT >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator*= ( const AT &  at)
inline
template<class M , class TRI >
template<class AE >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator+= ( const matrix_expression< AE > &  ae)
inline
template<class M , class TRI >
template<class AE >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator-= ( const matrix_expression< AE > &  ae)
inline
template<class M , class TRI >
template<class AT >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator/= ( const AT &  at)
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator= ( const hermitian_adaptor< M, TRI > &  m)
inline
template<class M , class TRI >
template<class AE >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::operator= ( const matrix_expression< AE > &  ae)
inline
template<class M , class TRI >
template<class AE >
BOOST_UBLAS_INLINE hermitian_adaptor& boost::numeric::ublas::hermitian_adaptor< M, TRI >::plus_assign ( const matrix_expression< AE > &  ae)
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::rbegin1 ( )
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::rbegin2 ( )
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::hermitian_adaptor< M, TRI >::rend1 ( )
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::hermitian_adaptor< M, TRI >::rend2 ( )
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE bool boost::numeric::ublas::hermitian_adaptor< M, TRI >::same_closure ( const hermitian_adaptor< M, TRI > &  ha) const
inline
template<class M , class TRI >
BOOST_UBLAS_INLINE void boost::numeric::ublas::hermitian_adaptor< M, TRI >::swap ( hermitian_adaptor< M, TRI > &  m)
inline

Friends And Related Function Documentation

template<class M , class TRI >
BOOST_UBLAS_INLINE friend void swap ( hermitian_adaptor< M, TRI > &  m1,
hermitian_adaptor< M, TRI > &  m2 
)
friend

Member Data Documentation

const unsigned boost::numeric::ublas::matrix_expression< hermitian_adaptor< M, TRI > >::complexity
staticinherited

The documentation for this class was generated from the following files: