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::diagonal_matrix< T, L, A > Singleton Reference

A diagonal matrix of values of type T, which is a specialization of a banded matrix. More...

#include <fwd.hpp>

Inheritance diagram for boost::numeric::ublas::diagonal_matrix< T, L, A >:
Collaboration diagram for boost::numeric::ublas::diagonal_matrix< T, L, A >:

Public Types

typedef A::size_type size_type
 
typedef banded_matrix< T, L, A > matrix_type
 
typedef A array_type
 
typedef A::difference_type difference_type
 
typedef T value_type
 
typedef const Tconst_reference
 
typedef Treference
 
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
 
typedef banded_matrix< T, L, A > container_type
 
typedef matrix_tag type_category
 
typedef E expression_type
 

Public Member Functions

BOOST_UBLAS_INLINE diagonal_matrix ()
 
BOOST_UBLAS_INLINE diagonal_matrix (size_type size)
 
BOOST_UBLAS_INLINE diagonal_matrix (size_type size, const array_type &data)
 
BOOST_UBLAS_INLINE diagonal_matrix (size_type size1, size_type size2)
 
template<class AE >
BOOST_UBLAS_INLINE diagonal_matrix (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE ~diagonal_matrix ()
 
BOOST_UBLAS_INLINE
diagonal_matrix
operator= (const diagonal_matrix &m)
 
template<class AE >
BOOST_UBLAS_INLINE
diagonal_matrix
operator= (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE size_type size1 () const
 
BOOST_UBLAS_INLINE size_type size2 () const
 
BOOST_UBLAS_INLINE size_type lower () const
 
BOOST_UBLAS_INLINE size_type upper () const
 
BOOST_UBLAS_INLINE const
array_type
data () const
 
BOOST_UBLAS_INLINE array_typedata ()
 
BOOST_UBLAS_INLINE bool is_element_in_band (size_type i, size_type j) const
 
BOOST_UBLAS_INLINE void resize (size_type size1, size_type size2, size_type lower=0, size_type upper=0, bool preserve=true)
 
BOOST_UBLAS_INLINE void resize_packed_preserve (size_type size1, size_type size2, size_type lower=0, size_type upper=0)
 
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 const
container_type
operator() () const
 
BOOST_UBLAS_INLINE container_typeoperator() ()
 
BOOST_UBLAS_INLINE reference at_element (size_type i, size_type j)
 
BOOST_UBLAS_INLINE 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 banded_matrixassign_temporary (banded_matrix &m)
 
template<class AE >
BOOST_UBLAS_INLINE banded_matrixassign (const matrix_expression< AE > &ae)
 
template<class AE >
BOOST_UBLAS_INLINE banded_matrixoperator+= (const matrix_expression< AE > &ae)
 
template<class AE >
BOOST_UBLAS_INLINE banded_matrixplus_assign (const matrix_expression< AE > &ae)
 
template<class AE >
BOOST_UBLAS_INLINE banded_matrixoperator-= (const matrix_expression< AE > &ae)
 
template<class AE >
BOOST_UBLAS_INLINE banded_matrixminus_assign (const matrix_expression< AE > &ae)
 
template<class AT >
BOOST_UBLAS_INLINE banded_matrixoperator*= (const AT &at)
 
template<class AT >
BOOST_UBLAS_INLINE banded_matrixoperator/= (const AT &at)
 
BOOST_UBLAS_INLINE void swap (banded_matrix &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 iterator1 begin1 ()
 
BOOST_UBLAS_INLINE const_iterator1 cbegin1 () const
 
BOOST_UBLAS_INLINE const_iterator1 end1 () const
 
BOOST_UBLAS_INLINE iterator1 end1 ()
 
BOOST_UBLAS_INLINE const_iterator1 cend1 () const
 
BOOST_UBLAS_INLINE const_iterator2 begin2 () const
 
BOOST_UBLAS_INLINE iterator2 begin2 ()
 
BOOST_UBLAS_INLINE const_iterator2 cbegin2 () const
 
BOOST_UBLAS_INLINE const_iterator2 end2 () const
 
BOOST_UBLAS_INLINE iterator2 end2 ()
 
BOOST_UBLAS_INLINE const_iterator2 cend2 () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rbegin1 () const
 
BOOST_UBLAS_INLINE
reverse_iterator1 
rbegin1 ()
 
BOOST_UBLAS_INLINE
const_reverse_iterator1 
crbegin1 () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rend1 () const
 
BOOST_UBLAS_INLINE
reverse_iterator1 
rend1 ()
 
BOOST_UBLAS_INLINE
const_reverse_iterator1 
crend1 () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rbegin2 () const
 
BOOST_UBLAS_INLINE
reverse_iterator2 
rbegin2 ()
 
BOOST_UBLAS_INLINE
const_reverse_iterator2 
crbegin2 () const
 
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rend2 () const
 
BOOST_UBLAS_INLINE
reverse_iterator2 
rend2 ()
 
BOOST_UBLAS_INLINE
const_reverse_iterator2 
crend2 () const
 

Static Public Attributes

static const unsigned complexity
 

Detailed Description

template<class T, class L, class A>
singleton boost::numeric::ublas::diagonal_matrix< T, L, A >

A diagonal matrix of values of type T, which is a specialization of a banded matrix.

For a $(m\times m)$-dimensional diagonal matrix, $0 \leq i < m$ and $0 \leq j < m$, if $i\neq j$ then $b_{i,j}=0$. The default storage for diagonal matrices is packed. Orientation and storage can also be specified. Default is row major unbounded_array.

As a specialization of a banded matrix, the constructor of the diagonal matrix creates a banded matrix with 0 upper and lower diagonals around the main diagonal and the matrix is obviously a square matrix. Operations are optimized based on these 2 assumptions. It is not required by the storage to initialize elements of the matrix.

Template Parameters
Tthe type of object stored in the matrix (like double, float, complex, etc...)
Lthe storage organization. It can be either row_major or column_major. Default is row_major
Athe type of Storage array. Default is unbounded_array

Member Typedef Documentation

template<class T , class L , class A >
typedef A boost::numeric::ublas::diagonal_matrix< T, L, A >::array_type
template<class T , class L , class A >
typedef matrix_reference<self_type> boost::numeric::ublas::banded_matrix< T, L, A >::closure_type
inherited
template<class T , class L , class A >
typedef const matrix_reference<const self_type> boost::numeric::ublas::banded_matrix< T, L, A >::const_closure_type
inherited
template<class T , class L , class A >
typedef const T& boost::numeric::ublas::banded_matrix< T, L, A >::const_reference
inherited
template<class T , class L , class A >
typedef reverse_iterator_base1<const_iterator1> boost::numeric::ublas::banded_matrix< T, L, A >::const_reverse_iterator1
inherited
template<class T , class L , class A >
typedef reverse_iterator_base2<const_iterator2> boost::numeric::ublas::banded_matrix< T, L, A >::const_reverse_iterator2
inherited
template<class T , class L , class A >
typedef A::difference_type boost::numeric::ublas::banded_matrix< T, L, A >::difference_type
inherited
template<class E>
typedef E boost::numeric::ublas::matrix_expression< E >::expression_type
inherited
template<class T , class L , class A >
typedef matrix<T, L, A> boost::numeric::ublas::banded_matrix< T, L, A >::matrix_temporary_type
inherited
template<class T , class L , class A >
typedef banded_matrix<T, L, A> boost::numeric::ublas::diagonal_matrix< T, L, A >::matrix_type
template<class T , class L , class A >
typedef L::orientation_category boost::numeric::ublas::banded_matrix< T, L, A >::orientation_category
inherited
template<class T , class L , class A >
typedef T& boost::numeric::ublas::banded_matrix< T, L, A >::reference
inherited
template<class T , class L , class A >
typedef reverse_iterator_base1<iterator1> boost::numeric::ublas::banded_matrix< T, L, A >::reverse_iterator1
inherited
template<class T , class L , class A >
typedef reverse_iterator_base2<iterator2> boost::numeric::ublas::banded_matrix< T, L, A >::reverse_iterator2
inherited
template<class T , class L , class A >
typedef A::size_type boost::numeric::ublas::diagonal_matrix< T, L, A >::size_type
template<class T , class L , class A >
typedef packed_tag boost::numeric::ublas::banded_matrix< T, L, A >::storage_category
inherited
template<class T , class L , class A >
typedef T boost::numeric::ublas::banded_matrix< T, L, A >::value_type
inherited
template<class T , class L , class A >
typedef vector<T, A> boost::numeric::ublas::banded_matrix< T, L, A >::vector_temporary_type
inherited

Constructor & Destructor Documentation

template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_matrix< T, L, A >::diagonal_matrix ( )
inline
template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_matrix< T, L, A >::diagonal_matrix ( size_type  size)
inline
template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_matrix< T, L, A >::diagonal_matrix ( size_type  size,
const array_type data 
)
inline
template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_matrix< T, L, A >::diagonal_matrix ( size_type  size1,
size_type  size2 
)
inline
template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_matrix< T, L, A >::diagonal_matrix ( const matrix_expression< AE > &  ae)
inline
template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::diagonal_matrix< T, L, A >::~diagonal_matrix ( )
inline

Member Function Documentation

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::assign ( const matrix_expression< AE > &  ae)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::begin1 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::begin2 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::cbegin1 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::cbegin2 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::cend1 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::cend2 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::banded_matrix< T, L, A >::clear ( void  )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::crbegin1 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::crbegin2 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::crend1 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::crend2 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE array_type& boost::numeric::ublas::banded_matrix< T, L, A >::data ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::end1 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::end2 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::banded_matrix< T, L, A >::erase_element ( size_type  i,
size_type  j 
)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::find1 ( int  rank,
size_type  i,
size_type  j 
)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::find2 ( int  rank,
size_type  i,
size_type  j 
)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE reference boost::numeric::ublas::banded_matrix< T, L, A >::insert_element ( size_type  i,
size_type  j,
const_reference  t 
)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE bool boost::numeric::ublas::banded_matrix< T, L, A >::is_element_in_band ( size_type  i,
size_type  j 
) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::banded_matrix< T, L, A >::lower ( ) const
inlineinherited
template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::minus_assign ( const matrix_expression< AE > &  ae)
inlineinherited
BOOST_UBLAS_INLINE const container_type& boost::numeric::ublas::matrix_container< banded_matrix< T, L, A > >::operator() ( ) const
inlineinherited
BOOST_UBLAS_INLINE container_type& boost::numeric::ublas::matrix_container< banded_matrix< T, L, A > >::operator() ( )
inlineinherited
template<class T , class L , class A >
template<class AT >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::operator*= ( const AT &  at)
inlineinherited

References boost::xpressive::at.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::operator+= ( const matrix_expression< AE > &  ae)
inlineinherited
template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::operator-= ( const matrix_expression< AE > &  ae)
inlineinherited
template<class T , class L , class A >
template<class AT >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::operator/= ( const AT &  at)
inlineinherited

References boost::xpressive::at.

template<class T , class L , class A >
BOOST_UBLAS_INLINE diagonal_matrix& boost::numeric::ublas::diagonal_matrix< T, L, A >::operator= ( const diagonal_matrix< T, L, A > &  m)
inline
template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE diagonal_matrix& boost::numeric::ublas::diagonal_matrix< T, L, A >::operator= ( const matrix_expression< AE > &  ae)
inline
template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE banded_matrix& boost::numeric::ublas::banded_matrix< T, L, A >::plus_assign ( const matrix_expression< AE > &  ae)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::rbegin1 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::rbegin1 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::rbegin2 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::rbegin2 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::rend1 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::banded_matrix< T, L, A >::rend1 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::rend2 ( ) const
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::banded_matrix< T, L, A >::rend2 ( )
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::banded_matrix< T, L, A >::swap ( banded_matrix< T, L, A > &  m)
inlineinherited
template<class T , class L , class A >
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::banded_matrix< T, L, A >::upper ( ) const
inlineinherited

Member Data Documentation

const unsigned boost::numeric::ublas::matrix_container< banded_matrix< T, L, A > >::complexity
staticinherited

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