Bayesian Filtering Library  Generated from SVN r
Public Types | Public Member Functions | Static Public Attributes | List of all members
bounded_matrix< T, M, N, L > Class Template Reference

A dense matrix of values of type T with a variable size bounded to a maximum of $M$ by $N$. More...

#include <asirfilter.h>

Inheritance diagram for bounded_matrix< T, M, N, L >:
matrix< T, L, bounded_array< T, M *N > > matrix_container< matrix< T, L, bounded_array< T, M *N > > > matrix_expression< matrix< T, L, bounded_array< T, M *N > > > ublas_expression< matrix< T, L, bounded_array< T, M *N > > >

Public Types

typedef matrix_type::size_type size_type
 
typedef bounded_array< T, M *N > ::difference_type difference_type
 
typedef T value_type
 
typedef const T & const_reference
 
typedef T & reference
 
typedef bounded_array< T, M *N > array_type
 
typedef const matrix_reference< const self_typeconst_closure_type
 
typedef matrix_reference< self_typeclosure_type
 
typedef vector< T, bounded_array< T, M *N > > vector_temporary_type
 
typedef self_type matrix_temporary_type
 
typedef dense_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 matrix< T, L, bounded_array< T, M *N > > container_type
 
typedef matrix_tag type_category
 
typedef matrix< T, L, bounded_array< T, M *N > > expression_type
 

Public Member Functions

BOOST_UBLAS_INLINE bounded_matrix (size_type size1, size_type size2)
 
BOOST_UBLAS_INLINE bounded_matrix (const bounded_matrix &m)
 
template<class A2 >
BOOST_UBLAS_INLINE bounded_matrix (const matrix< T, L, A2 > &m)
 
template<class AE >
BOOST_UBLAS_INLINE bounded_matrix (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE bounded_matrixoperator= (const bounded_matrix &m)
 
template<class L2 , class A2 >
BOOST_UBLAS_INLINE bounded_matrixoperator= (const matrix< T, L2, A2 > &m)
 
template<class C >
BOOST_UBLAS_INLINE bounded_matrixoperator= (const matrix_container< C > &m)
 
template<class AE >
BOOST_UBLAS_INLINE bounded_matrixoperator= (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE size_type size1 () const
 
BOOST_UBLAS_INLINE size_type size2 () const
 
BOOST_UBLAS_INLINE const array_typedata () const
 
BOOST_UBLAS_INLINE array_typedata ()
 
BOOST_UBLAS_INLINE void resize (size_type size1, size_type size2, bool preserve=true)
 
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_typeoperator() () 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)
 
void erase_element (size_type i, size_type j)
 
BOOST_UBLAS_INLINE void clear ()
 
BOOST_UBLAS_INLINE matrixassign_temporary (matrix &m)
 
BOOST_UBLAS_INLINE matrixassign (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE matrixoperator+= (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE matrixoperator+= (const matrix_container< C > &m)
 
BOOST_UBLAS_INLINE matrixplus_assign (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE matrixoperator-= (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE matrixoperator-= (const matrix_container< C > &m)
 
BOOST_UBLAS_INLINE matrixminus_assign (const matrix_expression< AE > &ae)
 
BOOST_UBLAS_INLINE matrixoperator*= (const AT &at)
 
BOOST_UBLAS_INLINE matrixoperator/= (const AT &at)
 
BOOST_UBLAS_INLINE void swap (matrix &m)
 
BOOST_UBLAS_INLINE const_iterator1 find1 (int, size_type i, size_type j) const
 
BOOST_UBLAS_INLINE iterator1 find1 (int, size_type i, size_type j)
 
BOOST_UBLAS_INLINE const_iterator2 find2 (int, size_type i, size_type j) const
 
BOOST_UBLAS_INLINE iterator2 find2 (int, 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
 
void serialize (Archive &ar, const unsigned int)
 

Static Public Attributes

static const size_type max_size1 = M
 
static const size_type max_size2 = N
 
static const unsigned complexity
 

Detailed Description

template<class T, std::size_t M, std::size_t N, class L>
class BFL::boost::numeric::ublas::bounded_matrix< T, M, N, L >

A dense matrix of values of type T with a variable size bounded to a maximum of $M$ by $N$.

For a $(m \times n)$-dimensional matrix and $ 0 \leq i < m, 0 \leq j < n$, every element $m_{i,j}$ is mapped to the $(i.n + j)$-th element of the container for row major orientation or the $(i + j.m)$-th element of the container for column major orientation. Finally in a dense matrix all elements are represented in memory in a contiguous chunk of memory.

Orientation can be specified. Default is row_major The default constructor creates the matrix with size $M$ by $N$. Elements are constructed by the storage type bounded_array, which need not initialise their value.

Template Parameters
Tthe type of object stored in the matrix (like double, float, complex, etc...)
Mmaximum and default number of rows (if not specified at construction)
Nmaximum and default number of columns (if not specified at construction)
Lthe storage organization. It can be either row_major or column_major. Default is row_major

Definition at line 141 of file asirfilter.h.

Member Function Documentation

◆ at_element()

BOOST_UBLAS_INLINE reference at_element ( size_type  i,
size_type  j 
)
inlineinherited

Access a matrix element. Here we return a reference

Parameters
ithe first coordinate of the element. By default it's the row
jthe second coordinate of the element. By default it's the column
Returns
a reference to the element

Definition at line 247 of file asirfilter.h.

◆ clear()

BOOST_UBLAS_INLINE void clear ( )
inlineinherited

Erase all elements in the matrix For most types (int, double, etc...) it means writing 0 (zero) everywhere. For user-defined types, it could be another value if you decided it. Your type in that case must contain a default null value.

Definition at line 292 of file asirfilter.h.

◆ data() [1/2]

BOOST_UBLAS_INLINE const array_type& data ( ) const
inlineinherited

Return a constant reference to the internal storage of a dense matrix, i.e. the raw data It's type depends on the type used by the matrix to store its data

Definition at line 197 of file asirfilter.h.

◆ data() [2/2]

BOOST_UBLAS_INLINE array_type& data ( )
inlineinherited

Return a reference to the internal storage of a dense matrix, i.e. the raw data It's type depends on the type used by the matrix to store its data

Definition at line 204 of file asirfilter.h.

◆ erase_element()

void erase_element ( size_type  i,
size_type  j 
)
inlineinherited

Erase the element For most types (int, double, etc...) it means setting 0 (zero) the element at zero in fact. For user-defined types, it could be another value if you decided it. Your type in that case must contain a default null value.

Parameters
ithe first coordinate of the element. By default it's the row
jthe second coordinate of the element. By default it's the column

Definition at line 281 of file asirfilter.h.

◆ insert_element()

BOOST_UBLAS_INLINE reference insert_element ( size_type  i,
size_type  j,
const_reference  t 
)
inlineinherited

Change the value of a matrix element. Return back a reference to it

Parameters
ithe first coordinate of the element. By default it's the row
jthe second coordinate of the element. By default it's the column
tthe new value of the element
Returns
a reference to the newly changed element

Definition at line 270 of file asirfilter.h.

◆ operator()() [1/2]

BOOST_UBLAS_INLINE const_reference operator() ( size_type  i,
size_type  j 
) const
inlineinherited

Access a matrix element. Here we return a const reference

Parameters
ithe first coordinate of the element. By default it's the row
jthe second coordinate of the element. By default it's the column
Returns
a const reference to the element

Definition at line 237 of file asirfilter.h.

◆ operator()() [2/2]

BOOST_UBLAS_INLINE reference operator() ( size_type  i,
size_type  j 
)
inlineinherited

Access a matrix element. Here we return a reference

Parameters
ithe first coordinate of the element. By default it's the row
jthe second coordinate of the element. By default it's the column
Returns
a reference to the element

Definition at line 257 of file asirfilter.h.

◆ resize()

BOOST_UBLAS_INLINE void resize ( size_type  size1,
size_type  size2,
bool  preserve = true 
)
inlineinherited

Resize a matrix to new dimensions If data are preserved, then if the size if bigger at least on one dimension, extra values are filled with zeros. If data are not preserved, then nothing has to be assumed regarding the content of the matrix after resizing.

Parameters
size1the new number of rows
size2the new number of colums
preservea boolean to say if one wants the data to be preserved during the resizing. Default is true.

Definition at line 217 of file asirfilter.h.

◆ size1()

BOOST_UBLAS_INLINE size_type size1 ( ) const
inlineinherited

Return the number of rows of the matrix You can also use the free size<>() function in operation/size.hpp as size<1>(m) where m is a matrix

Definition at line 180 of file asirfilter.h.

◆ size2()

BOOST_UBLAS_INLINE size_type size2 ( ) const
inlineinherited

Return the number of colums of the matrix You can also use the free size<>() function in operation/size.hpp as size<2>(m) where m is a matrix

Definition at line 188 of file asirfilter.h.


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