Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms

boost::numeric::ublas::diagonal_adaptor< M > Class Template Reference

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

#include <banded.hpp>

Inheritance diagram for boost::numeric::ublas::diagonal_adaptor< M >:
Collaboration diagram for boost::numeric::ublas::diagonal_adaptor< M >:

List of all members.

Public Types

typedef banded_adaptor< M > adaptor_type
typedef self_type closure_type
typedef const self_type const_closure_type
typedef const M const_matrix_type
typedef M::const_reference const_reference
typedef reverse_iterator_base1
< const_iterator1
const_reverse_iterator1
typedef reverse_iterator_base2
< const_iterator2
const_reverse_iterator2
typedef M::difference_type difference_type
typedef banded_adaptor< M > expression_type
typedef boost::mpl::if_
< boost::is_const< M >
, typename
M::const_closure_type,
typename M::closure_type >
::type 
matrix_closure_type
typedef M matrix_type
typedef M::orientation_category orientation_category
typedef boost::mpl::if_
< boost::is_const< M >
, typename M::const_reference,
typename M::reference >::type 
reference
typedef reverse_iterator_base1
< iterator1
reverse_iterator1
typedef reverse_iterator_base2
< iterator2
reverse_iterator2
typedef M::size_type size_type
typedef
storage_restrict_traits
< typename M::storage_category,
packed_proxy_tag >
::storage_category 
storage_category
typedef matrix_tag type_category
typedef M::value_type value_type

Public Member Functions

BOOST_UBLAS_INLINE diagonal_adaptor ()
BOOST_UBLAS_INLINE diagonal_adaptor (matrix_type &data)
BOOST_UBLAS_INLINE ~diagonal_adaptor ()
template<class AE >
BOOST_UBLAS_INLINE banded_adaptorassign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE banded_adaptorassign_temporary (banded_adaptor &m)
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 const
matrix_closure_type
data () const
BOOST_UBLAS_INLINE
matrix_closure_type
data ()
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 size_type lower () const
template<class AE >
BOOST_UBLAS_INLINE banded_adaptorminus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE reference operator() (size_type i, size_type j)
BOOST_UBLAS_INLINE const_reference operator() (size_type i, size_type j) const
BOOST_UBLAS_INLINE const
expression_type
operator() () const
BOOST_UBLAS_INLINE
expression_type
operator() ()
template<class AT >
BOOST_UBLAS_INLINE banded_adaptoroperator*= (const AT &at)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptoroperator+= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptoroperator-= (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE banded_adaptoroperator/= (const AT &at)
BOOST_UBLAS_INLINE
diagonal_adaptor
operator= (const diagonal_adaptor &m)
template<class AE >
BOOST_UBLAS_INLINE
diagonal_adaptor
operator= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptorplus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE
reverse_iterator1 
rbegin1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rbegin1 () const
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rbegin2 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rbegin2 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rend1 () const
BOOST_UBLAS_INLINE
reverse_iterator1 
rend1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rend2 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rend2 ()
BOOST_UBLAS_INLINE bool same_closure (const banded_adaptor &ba) const
BOOST_UBLAS_INLINE size_type size1 () const
BOOST_UBLAS_INLINE size_type size2 () const
BOOST_UBLAS_INLINE void swap (banded_adaptor &m)
BOOST_UBLAS_INLINE size_type upper () const

Static Public Attributes

static const unsigned complexity

Friends

BOOST_UBLAS_INLINE friend void swap (banded_adaptor &m1, banded_adaptor &m2)

Detailed Description

template<class M>
class boost::numeric::ublas::diagonal_adaptor< M >

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

For a $(m\times m)$-dimensional matrix, the diagonal_adaptor will provide a diagonal matrix with $0 \leq i < m$ and $0 \leq j < m$, if $i\neq j$ then $b_{i,j}=0$.

Storage and location are based on those of the underlying matrix. This is important because a diagonal_adaptor does not copy the matrix data to a new place. Therefore, modifying values in a diagonal_adaptor matrix will also modify the underlying matrix too.

Template Parameters:
Mthe type of matrix used to generate the diagonal matrix

Definition at line 2039 of file banded.hpp.


Member Typedef Documentation

template<class M >
typedef M boost::numeric::ublas::diagonal_adaptor< M >::matrix_type

Reimplemented from boost::numeric::ublas::banded_adaptor< M >.

Definition at line 2042 of file banded.hpp.

Definition at line 2043 of file banded.hpp.

template<class M>
typedef const M boost::numeric::ublas::banded_adaptor< M >::const_matrix_type [inherited]

Definition at line 1062 of file banded.hpp.

template<class M>
typedef M::size_type boost::numeric::ublas::banded_adaptor< M >::size_type [inherited]

Definition at line 1064 of file banded.hpp.

template<class M>
typedef M::difference_type boost::numeric::ublas::banded_adaptor< M >::difference_type [inherited]

Definition at line 1065 of file banded.hpp.

template<class M>
typedef M::value_type boost::numeric::ublas::banded_adaptor< M >::value_type [inherited]

Definition at line 1066 of file banded.hpp.

template<class M>
typedef M::const_reference boost::numeric::ublas::banded_adaptor< M >::const_reference [inherited]

Definition at line 1067 of file banded.hpp.

template<class M>
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_reference, typename M::reference>::type boost::numeric::ublas::banded_adaptor< M >::reference [inherited]

Definition at line 1070 of file banded.hpp.

template<class M>
typedef boost::mpl::if_<boost::is_const<M>, typename M::const_closure_type, typename M::closure_type>::type boost::numeric::ublas::banded_adaptor< M >::matrix_closure_type [inherited]

Definition at line 1073 of file banded.hpp.

template<class M>
typedef const self_type boost::numeric::ublas::banded_adaptor< M >::const_closure_type [inherited]

Definition at line 1074 of file banded.hpp.

template<class M>
typedef self_type boost::numeric::ublas::banded_adaptor< M >::closure_type [inherited]

Definition at line 1075 of file banded.hpp.

template<class M>
typedef storage_restrict_traits<typename M::storage_category, packed_proxy_tag>::storage_category boost::numeric::ublas::banded_adaptor< M >::storage_category [inherited]

Definition at line 1080 of file banded.hpp.

template<class M>
typedef M::orientation_category boost::numeric::ublas::banded_adaptor< M >::orientation_category [inherited]

Definition at line 1081 of file banded.hpp.

Definition at line 1291 of file banded.hpp.

Definition at line 1294 of file banded.hpp.

Definition at line 1295 of file banded.hpp.

Definition at line 1296 of file banded.hpp.


Constructor & Destructor Documentation

template<class M >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_adaptor< M >::diagonal_adaptor ( ) [inline]

Definition at line 2047 of file banded.hpp.

template<class M >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_adaptor< M >::diagonal_adaptor ( matrix_type data) [inline]

Definition at line 2050 of file banded.hpp.

template<class M >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_adaptor< M >::~diagonal_adaptor ( ) [inline]

Definition at line 2053 of file banded.hpp.


Member Function Documentation

template<class M >
BOOST_UBLAS_INLINE diagonal_adaptor& boost::numeric::ublas::diagonal_adaptor< M >::operator= ( const diagonal_adaptor< M > &  m) [inline]

Definition at line 2057 of file banded.hpp.

template<class M >
template<class AE >
BOOST_UBLAS_INLINE diagonal_adaptor& boost::numeric::ublas::diagonal_adaptor< M >::operator= ( const matrix_expression< AE > &  ae) [inline]

Reimplemented from boost::numeric::ublas::banded_adaptor< M >.

Definition at line 2063 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::banded_adaptor< M >::size1 ( ) const [inline, inherited]

Definition at line 1095 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::banded_adaptor< M >::size2 ( ) const [inline, inherited]

Definition at line 1099 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::banded_adaptor< M >::lower ( ) const [inline, inherited]

Definition at line 1103 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::banded_adaptor< M >::upper ( ) const [inline, inherited]

Definition at line 1107 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const matrix_closure_type& boost::numeric::ublas::banded_adaptor< M >::data ( ) const [inline, inherited]

Definition at line 1113 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE matrix_closure_type& boost::numeric::ublas::banded_adaptor< M >::data ( ) [inline, inherited]

Definition at line 1117 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::banded_adaptor< M >::operator() ( size_type  i,
size_type  j 
) const [inline, inherited]

Definition at line 1124 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE reference boost::numeric::ublas::banded_adaptor< M >::operator() ( size_type  i,
size_type  j 
) [inline, inherited]

Definition at line 1143 of file banded.hpp.

BOOST_UBLAS_INLINE const expression_type& boost::numeric::ublas::matrix_expression< banded_adaptor< M > >::operator() ( ) const [inline, inherited]

Definition at line 320 of file expression_types.hpp.

BOOST_UBLAS_INLINE expression_type& boost::numeric::ublas::matrix_expression< banded_adaptor< M > >::operator() ( ) [inline, inherited]

Definition at line 324 of file expression_types.hpp.

template<class M>
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::assign_temporary ( banded_adaptor< M > &  m) [inline, inherited]

Definition at line 1196 of file banded.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::assign ( const matrix_expression< AE > &  ae) [inline, inherited]

Definition at line 1208 of file banded.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::operator+= ( const matrix_expression< AE > &  ae) [inline, inherited]

Definition at line 1214 of file banded.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::plus_assign ( const matrix_expression< AE > &  ae) [inline, inherited]

Definition at line 1220 of file banded.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::operator-= ( const matrix_expression< AE > &  ae) [inline, inherited]

Definition at line 1226 of file banded.hpp.

template<class M>
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::minus_assign ( const matrix_expression< AE > &  ae) [inline, inherited]

Definition at line 1232 of file banded.hpp.

template<class M>
template<class AT >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::operator*= ( const AT &  at) [inline, inherited]

Definition at line 1238 of file banded.hpp.

template<class M>
template<class AT >
BOOST_UBLAS_INLINE banded_adaptor& boost::numeric::ublas::banded_adaptor< M >::operator/= ( const AT &  at) [inline, inherited]

Definition at line 1244 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE bool boost::numeric::ublas::banded_adaptor< M >::same_closure ( const banded_adaptor< M > &  ba) const [inline, inherited]

Definition at line 1251 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE void boost::numeric::ublas::banded_adaptor< M >::swap ( banded_adaptor< M > &  m) [inline, inherited]

Definition at line 1257 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::banded_adaptor< M >::find1 ( int  rank,
size_type  i,
size_type  j 
) const [inline, inherited]

Definition at line 1300 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::banded_adaptor< M >::find1 ( int  rank,
size_type  i,
size_type  j 
) [inline, inherited]

Definition at line 1310 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::banded_adaptor< M >::find2 ( int  rank,
size_type  i,
size_type  j 
) const [inline, inherited]

Definition at line 1320 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::banded_adaptor< M >::find2 ( int  rank,
size_type  i,
size_type  j 
) [inline, inherited]

Definition at line 1330 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::banded_adaptor< M >::begin1 ( ) const [inline, inherited]

Definition at line 1489 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::banded_adaptor< M >::begin1 ( ) [inline, inherited]

Definition at line 1643 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::banded_adaptor< M >::end1 ( ) const [inline, inherited]

Definition at line 1493 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::banded_adaptor< M >::end1 ( ) [inline, inherited]

Definition at line 1647 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::banded_adaptor< M >::begin2 ( ) const [inline, inherited]

Definition at line 1799 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::banded_adaptor< M >::begin2 ( ) [inline, inherited]

Definition at line 1953 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::banded_adaptor< M >::end2 ( ) const [inline, inherited]

Definition at line 1803 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::banded_adaptor< M >::end2 ( ) [inline, inherited]

Definition at line 1957 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::banded_adaptor< M >::rbegin1 ( ) const [inline, inherited]

Definition at line 1964 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::banded_adaptor< M >::rbegin1 ( ) [inline, inherited]

Definition at line 1973 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::banded_adaptor< M >::rend1 ( ) const [inline, inherited]

Definition at line 1968 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::banded_adaptor< M >::rend1 ( ) [inline, inherited]

Definition at line 1977 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::banded_adaptor< M >::rbegin2 ( ) const [inline, inherited]

Definition at line 1982 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::banded_adaptor< M >::rbegin2 ( ) [inline, inherited]

Definition at line 1991 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::banded_adaptor< M >::rend2 ( ) const [inline, inherited]

Definition at line 1986 of file banded.hpp.

template<class M>
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::banded_adaptor< M >::rend2 ( ) [inline, inherited]

Definition at line 1995 of file banded.hpp.


Friends And Related Function Documentation

template<class M>
BOOST_UBLAS_INLINE friend void swap ( banded_adaptor< M > &  m1,
banded_adaptor< M > &  m2 
) [friend, inherited]

Definition at line 1265 of file banded.hpp.


Member Data Documentation

const unsigned boost::numeric::ublas::matrix_expression< banded_adaptor< M > >::complexity [static, inherited]

Definition at line 312 of file expression_types.hpp.


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