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

# 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_adaptor & | operator= (const banded_adaptor &m)
BOOST_UBLAS_INLINE banded_adaptor & | assign_temporary (banded_adaptor &m)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor & | operator= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor & | assign (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor & | operator+= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor & | plus_assign (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor & | operator-= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_adaptor & | minus_assign (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE banded_adaptor & | operator*= (const AT &at)
template<class AT >
BOOST_UBLAS_INLINE banded_adaptor & | operator/= (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 -dimensional matrix, the `banded_adaptor` will provide a banded matrix with lower and upper diagonals and and , if or then .

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