# boost::numeric::ublas::banded_matrix< T, L, A > Class Template Reference

A banded matrix of values of type `T`. More...

Inherits matrix_container< banded_matrix< T, L, A > >.

Inherited by boost::numeric::ublas::diagonal_matrix< T, 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 | banded_matrix (size_type size1, size_type size2, size_type lower=0, size_type upper=0)
BOOST_UBLAS_INLINE | banded_matrix (size_type size1, size_type size2, size_type lower, size_type upper, const array_type &data)
BOOST_UBLAS_INLINE | banded_matrix (const banded_matrix &m)
template<class AE >
BOOST_UBLAS_INLINE | banded_matrix (const matrix_expression< AE > &ae, size_type lower=0, size_type upper=0)
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_type & | data ()
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 | at_element (size_type i, size_type j)
BOOST_UBLAS_INLINE reference | operator() (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_matrix & | operator= (const banded_matrix &m)
BOOST_UBLAS_INLINE banded_matrix & | assign_temporary (banded_matrix &m)
template<class AE >
BOOST_UBLAS_INLINE banded_matrix & | operator= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_matrix & | assign (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_matrix & | operator+= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_matrix & | plus_assign (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_matrix & | operator-= (const matrix_expression< AE > &ae)
template<class AE >
BOOST_UBLAS_INLINE banded_matrix & | minus_assign (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE banded_matrix & | operator*= (const AT &at)
template<class AT >
BOOST_UBLAS_INLINE banded_matrix & | operator/= (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 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_matrix &m1, banded_matrix &m2)

## Detailed Description

### template<class T, class L, class A>
class boost::numeric::ublas::banded_matrix< T, L, A >

For a -dimensional banded matrix with lower and upper diagonals and and , if or then . The default storage for banded matrices is packed. Orientation and storage can also be specified. Default is `row_major` and and unbounded_array. It is not required by the storage to initialize elements of the matrix.

Template Parameters:

  | T | the type of object stored in the matrix (like double, float, complex, etc...)
  | L | the storage organization. It can be either `row_major` or `column_major`. Default is `row_major`
  | A | the type of Storage array. Default is `unbounded_array`