Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Click here to view the latest version of this page.

boost::numeric::ublas::hermitian_matrix< T, TRI, L, A > Class Template Reference

A hermitian matrix of values of type T. More...

Inherits matrix_container< hermitian_matrix< T, TRI, L, A > >.

List of all members.

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)

Detailed Description

template<class T, class TRI, class L, class A>
class boost::numeric::ublas::hermitian_matrix< T, TRI, L, A >

For a $(n \times n)$-dimensional matrix and $ 0 \leq i < n, 0 \leq j < n$, every element $m_{i,j}$ is mapped to the $(i.n + j)$-th element of the container for row major orientation or the $(i + j.m)$-th element of the container for column major orientation. And $\forall i,j$, $m_{i,j} = \overline{m_{i,j}}$.

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.

Template Parameters:
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 .

Generated on Sun Jul 4 20:31:06 2010 for ublas by  doxygen 1.6.1