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

This is the documentation for an old version of boost. Click here for the latest Boost documentation.

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

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

Inherits matrix_expression< banded_adaptor< M > >.

Inherited by boost::numeric::ublas::diagonal_adaptor< M >.

List of all members.

Classes

class  const_iterator1
class  const_iterator2
class  iterator1
class  iterator2

Public Types

typedef const M const_matrix_type
typedef M matrix_type
typedef M::size_type size_type
typedef M::difference_type difference_type
typedef M::value_type value_type
typedef M::const_reference const_reference
typedef boost::mpl::if_
< boost::is_const< M >
, typename M::const_reference,
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

Public Member Functions

BOOST_UBLAS_INLINE banded_adaptor (matrix_type &data, size_type lower=0, size_type upper=0)
BOOST_UBLAS_INLINE banded_adaptor (const banded_adaptor &m)
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
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 banded_adaptoroperator= (const banded_adaptor &m)
BOOST_UBLAS_INLINE banded_adaptorassign_temporary (banded_adaptor &m)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptoroperator= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptorassign (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptoroperator+= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptorplus_assign (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptoroperator-= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptorminus_assign (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE banded_adaptoroperator*= (const AT &at)
template<class AT >
BOOST_UBLAS_INLINE banded_adaptoroperator/= (const AT &at)
BOOST_UBLAS_INLINE bool same_closure (const banded_adaptor &ba) const
BOOST_UBLAS_INLINE void swap (banded_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 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 (banded_adaptor &m1, banded_adaptor &m2)

Detailed Description

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

For a $(m\times n)$-dimensional matrix, the banded_adaptor will provide a banded matrix with $l$ lower and $u$ upper diagonals and $0 \leq i < m$ and $0 \leq j < n$, if $i>j+l$ or $i<j-u$ then $b_{i,j}=0$.

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

Template Parameters:
M the type of matrix used to generate a banded matrix

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