Boost.uBlas 1.49
Linear Algebra in C++: matrices, vectors and numeric algorithms

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

A dense matrix of values of type T stored as a vector of vectors. More...

#include <matrix.hpp>

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

List of all members.

Classes

class  const_iterator1
class  const_iterator2
class  iterator1
class  iterator2

Public Types

typedef A array_type
typedef matrix_reference
< self_type
closure_type
typedef const matrix_reference
< const self_type
const_closure_type
typedef const T & const_reference
typedef reverse_iterator_base1
< const_iterator1
const_reverse_iterator1
typedef reverse_iterator_base2
< const_iterator2
const_reverse_iterator2
typedef vector_of_vector< T, L, A > container_type
typedef A::difference_type difference_type
typedef vector_of_vector< T, L, A > expression_type
typedef self_type matrix_temporary_type
typedef L::orientation_category orientation_category
typedef T & reference
typedef reverse_iterator_base1
< iterator1
reverse_iterator1
typedef reverse_iterator_base2
< iterator2
reverse_iterator2
typedef A::size_type size_type
typedef dense_tag storage_category
typedef matrix_tag type_category
typedef T value_type
typedef vector< T, typename
A::value_type > 
vector_temporary_type

Public Member Functions

BOOST_UBLAS_INLINE vector_of_vector ()
BOOST_UBLAS_INLINE vector_of_vector (size_type size1, size_type size2)
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE vector_of_vector (const vector_of_vector &m)
template<class AE >
BOOST_UBLAS_INLINE
vector_of_vector
assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE
vector_of_vector
assign_temporary (vector_of_vector &m)
BOOST_UBLAS_INLINE reference at_element (size_type i, size_type j)
BOOST_UBLAS_INLINE const_iterator1 begin1 () const
BOOST_UBLAS_INLINE iterator1 begin1 ()
BOOST_UBLAS_INLINE const_iterator2 begin2 () const
BOOST_UBLAS_INLINE iterator2 begin2 ()
BOOST_UBLAS_INLINE void clear ()
BOOST_UBLAS_INLINE array_typedata ()
BOOST_UBLAS_INLINE const
array_type
data () const
BOOST_UBLAS_INLINE const_iterator1 end1 () const
BOOST_UBLAS_INLINE iterator1 end1 ()
BOOST_UBLAS_INLINE const_iterator2 end2 () const
BOOST_UBLAS_INLINE iterator2 end2 ()
BOOST_UBLAS_INLINE void erase_element (size_type i, size_type j)
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 reference insert_element (size_type i, size_type j, const_reference t)
template<class AE >
BOOST_UBLAS_INLINE
vector_of_vector
minus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE container_typeoperator() ()
BOOST_UBLAS_INLINE const_reference operator() (size_type i, size_type j) const
BOOST_UBLAS_INLINE const
container_type
operator() () const
BOOST_UBLAS_INLINE reference operator() (size_type i, size_type j)
template<class AT >
BOOST_UBLAS_INLINE
vector_of_vector
operator*= (const AT &at)
template<class AE >
BOOST_UBLAS_INLINE
vector_of_vector
operator+= (const matrix_expression< AE > &ae)
template<class C >
BOOST_UBLAS_INLINE
vector_of_vector
operator+= (const matrix_container< C > &m)
template<class C >
BOOST_UBLAS_INLINE
vector_of_vector
operator-= (const matrix_container< C > &m)
template<class AE >
BOOST_UBLAS_INLINE
vector_of_vector
operator-= (const matrix_expression< AE > &ae)
template<class AT >
BOOST_UBLAS_INLINE
vector_of_vector
operator/= (const AT &at)
BOOST_UBLAS_INLINE
vector_of_vector
operator= (const vector_of_vector &m)
template<class AE >
BOOST_UBLAS_INLINE
vector_of_vector
operator= (const matrix_expression< AE > &ae)
template<class C >
BOOST_UBLAS_INLINE
vector_of_vector
operator= (const matrix_container< C > &m)
template<class AE >
BOOST_UBLAS_INLINE
vector_of_vector
plus_assign (const matrix_expression< AE > &ae)
BOOST_UBLAS_INLINE
reverse_iterator1 
rbegin1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rbegin1 () const
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rbegin2 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rbegin2 ()
BOOST_UBLAS_INLINE
reverse_iterator1 
rend1 ()
BOOST_UBLAS_INLINE
const_reverse_iterator1 
rend1 () const
BOOST_UBLAS_INLINE
const_reverse_iterator2 
rend2 () const
BOOST_UBLAS_INLINE
reverse_iterator2 
rend2 ()
BOOST_UBLAS_INLINE void resize (size_type size1, size_type size2, bool preserve=true)
template<class Archive >
void serialize (Archive &ar, const unsigned int)
BOOST_UBLAS_INLINE size_type size1 () const
BOOST_UBLAS_INLINE size_type size2 () const
BOOST_UBLAS_INLINE void swap (vector_of_vector &m)

Static Public Attributes

static const unsigned complexity

Private Types

typedef
A::value_type::const_iterator 
const_subiterator_type
typedef L layout_type
typedef T * pointer
typedef vector_of_vector< T, L, A > self_type
typedef A::value_type::iterator subiterator_type

Private Attributes

array_type data_
size_type size1_
size_type size2_

Friends

BOOST_UBLAS_INLINE friend void swap (vector_of_vector &m1, vector_of_vector &m2)

Detailed Description

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

A dense matrix of values of type T stored as a vector of vectors.

Rows or columns are not stored into contiguous chunks of memory but data inside rows (or columns) are. Orientation and storage can also be specified, otherwise a row major and unbounded arrays are used. The data is stored as a vector of vectors, meaning that rows or columns might not be stored into contiguous chunks of memory. Orientation and storage can also be specified, otherwise a row major and unbounded arrays are used. The storage type defaults to unbounded_array<unbounded_array<T>> and orientation is row_major. It is not required by the storage to initialize elements of the matrix. 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.

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. By default it is row_major
Athe type of Storage array. By default, it is an <unbounder_array<T>>

Definition at line 1189 of file matrix.hpp.


Member Typedef Documentation

template<class T , class L , class A >
typedef T* boost::numeric::ublas::vector_of_vector< T, L, A >::pointer [private]

Definition at line 1192 of file matrix.hpp.

template<class T , class L , class A >
typedef L boost::numeric::ublas::vector_of_vector< T, L, A >::layout_type [private]

Definition at line 1193 of file matrix.hpp.

template<class T , class L , class A >
typedef vector_of_vector<T, L, A> boost::numeric::ublas::vector_of_vector< T, L, A >::self_type [private]
template<class T , class L , class A >
typedef A::size_type boost::numeric::ublas::vector_of_vector< T, L, A >::size_type

Definition at line 1199 of file matrix.hpp.

template<class T , class L , class A >
typedef A::difference_type boost::numeric::ublas::vector_of_vector< T, L, A >::difference_type

Definition at line 1200 of file matrix.hpp.

template<class T , class L , class A >
typedef T boost::numeric::ublas::vector_of_vector< T, L, A >::value_type

Definition at line 1201 of file matrix.hpp.

template<class T , class L , class A >
typedef const T& boost::numeric::ublas::vector_of_vector< T, L, A >::const_reference

Definition at line 1202 of file matrix.hpp.

template<class T , class L , class A >
typedef T& boost::numeric::ublas::vector_of_vector< T, L, A >::reference

Definition at line 1203 of file matrix.hpp.

template<class T , class L , class A >
typedef A boost::numeric::ublas::vector_of_vector< T, L, A >::array_type

Definition at line 1204 of file matrix.hpp.

template<class T , class L , class A >
typedef const matrix_reference<const self_type> boost::numeric::ublas::vector_of_vector< T, L, A >::const_closure_type

Definition at line 1205 of file matrix.hpp.

template<class T , class L , class A >
typedef matrix_reference<self_type> boost::numeric::ublas::vector_of_vector< T, L, A >::closure_type

Definition at line 1206 of file matrix.hpp.

template<class T , class L , class A >
typedef vector<T, typename A::value_type> boost::numeric::ublas::vector_of_vector< T, L, A >::vector_temporary_type

Definition at line 1207 of file matrix.hpp.

template<class T , class L , class A >
typedef self_type boost::numeric::ublas::vector_of_vector< T, L, A >::matrix_temporary_type

Definition at line 1208 of file matrix.hpp.

template<class T , class L , class A >
typedef dense_tag boost::numeric::ublas::vector_of_vector< T, L, A >::storage_category

Definition at line 1209 of file matrix.hpp.

template<class T , class L , class A >
typedef L::orientation_category boost::numeric::ublas::vector_of_vector< T, L, A >::orientation_category

Definition at line 1213 of file matrix.hpp.

template<class T , class L , class A >
typedef A::value_type::const_iterator boost::numeric::ublas::vector_of_vector< T, L, A >::const_subiterator_type [private]

Definition at line 1406 of file matrix.hpp.

template<class T , class L , class A >
typedef A::value_type::iterator boost::numeric::ublas::vector_of_vector< T, L, A >::subiterator_type [private]

Definition at line 1407 of file matrix.hpp.

Definition at line 1418 of file matrix.hpp.

template<class T , class L , class A >
typedef reverse_iterator_base1<iterator1> boost::numeric::ublas::vector_of_vector< T, L, A >::reverse_iterator1

Definition at line 1421 of file matrix.hpp.

Definition at line 1422 of file matrix.hpp.

template<class T , class L , class A >
typedef reverse_iterator_base2<iterator2> boost::numeric::ublas::vector_of_vector< T, L, A >::reverse_iterator2

Definition at line 1423 of file matrix.hpp.

Definition at line 488 of file expression_types.hpp.


Constructor & Destructor Documentation

template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::vector_of_vector< T, L, A >::vector_of_vector ( ) [inline]

Definition at line 1217 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::vector_of_vector< T, L, A >::vector_of_vector ( size_type  size1,
size_type  size2 
) [inline]

Definition at line 1221 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE boost::numeric::ublas::vector_of_vector< T, L, A >::vector_of_vector ( const vector_of_vector< T, L, A > &  m) [inline]

Definition at line 1227 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE boost::numeric::ublas::vector_of_vector< T, L, A >::vector_of_vector ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1232 of file matrix.hpp.


Member Function Documentation

template<class T , class L , class A >
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::vector_of_vector< T, L, A >::size1 ( ) const [inline]

Definition at line 1242 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE size_type boost::numeric::ublas::vector_of_vector< T, L, A >::size2 ( ) const [inline]

Definition at line 1246 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const array_type& boost::numeric::ublas::vector_of_vector< T, L, A >::data ( ) const [inline]

Definition at line 1252 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE array_type& boost::numeric::ublas::vector_of_vector< T, L, A >::data ( ) [inline]

Definition at line 1256 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::vector_of_vector< T, L, A >::resize ( size_type  size1,
size_type  size2,
bool  preserve = true 
) [inline]

Definition at line 1262 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reference boost::numeric::ublas::vector_of_vector< T, L, A >::operator() ( size_type  i,
size_type  j 
) const [inline]

Definition at line 1279 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reference boost::numeric::ublas::vector_of_vector< T, L, A >::at_element ( size_type  i,
size_type  j 
) [inline]

Definition at line 1283 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reference boost::numeric::ublas::vector_of_vector< T, L, A >::operator() ( size_type  i,
size_type  j 
) [inline]

Definition at line 1287 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reference boost::numeric::ublas::vector_of_vector< T, L, A >::insert_element ( size_type  i,
size_type  j,
const_reference  t 
) [inline]

Definition at line 1293 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::vector_of_vector< T, L, A >::erase_element ( size_type  i,
size_type  j 
) [inline]

Definition at line 1297 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::vector_of_vector< T, L, A >::clear ( ) [inline]

Definition at line 1303 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator= ( const vector_of_vector< T, L, A > &  m) [inline]

Definition at line 1310 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::assign_temporary ( vector_of_vector< T, L, A > &  m) [inline]

Definition at line 1317 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator= ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1323 of file matrix.hpp.

template<class T , class L , class A >
template<class C >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator= ( const matrix_container< C > &  m) [inline]

Definition at line 1329 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::assign ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1336 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator+= ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1342 of file matrix.hpp.

template<class T , class L , class A >
template<class C >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator+= ( const matrix_container< C > &  m) [inline]

Definition at line 1348 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::plus_assign ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1354 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator-= ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1360 of file matrix.hpp.

template<class T , class L , class A >
template<class C >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator-= ( const matrix_container< C > &  m) [inline]

Definition at line 1366 of file matrix.hpp.

template<class T , class L , class A >
template<class AE >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::minus_assign ( const matrix_expression< AE > &  ae) [inline]

Definition at line 1372 of file matrix.hpp.

template<class T , class L , class A >
template<class AT >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator*= ( const AT &  at) [inline]

Definition at line 1378 of file matrix.hpp.

template<class T , class L , class A >
template<class AT >
BOOST_UBLAS_INLINE vector_of_vector& boost::numeric::ublas::vector_of_vector< T, L, A >::operator/= ( const AT &  at) [inline]

Definition at line 1384 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE void boost::numeric::ublas::vector_of_vector< T, L, A >::swap ( vector_of_vector< T, L, A > &  m) [inline]

Definition at line 1391 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::find1 ( int  ,
size_type  i,
size_type  j 
) const [inline]

Definition at line 1427 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::find1 ( int  ,
size_type  i,
size_type  j 
) [inline]

Definition at line 1435 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::find2 ( int  ,
size_type  i,
size_type  j 
) const [inline]

Definition at line 1443 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::find2 ( int  ,
size_type  i,
size_type  j 
) [inline]

Definition at line 1451 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::begin1 ( ) const [inline]

Definition at line 1614 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::end1 ( ) const [inline]

Definition at line 1618 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::begin1 ( ) [inline]

Definition at line 1773 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::end1 ( ) [inline]

Definition at line 1777 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::begin2 ( ) const [inline]

Definition at line 1935 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::end2 ( ) const [inline]

Definition at line 1939 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::begin2 ( ) [inline]

Definition at line 2094 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::end2 ( ) [inline]

Definition at line 2098 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::rbegin1 ( ) const [inline]

Definition at line 2105 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::rend1 ( ) const [inline]

Definition at line 2109 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::rbegin1 ( ) [inline]

Definition at line 2114 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator1 boost::numeric::ublas::vector_of_vector< T, L, A >::rend1 ( ) [inline]

Definition at line 2118 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::rbegin2 ( ) const [inline]

Definition at line 2123 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE const_reverse_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::rend2 ( ) const [inline]

Definition at line 2127 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::rbegin2 ( ) [inline]

Definition at line 2132 of file matrix.hpp.

template<class T , class L , class A >
BOOST_UBLAS_INLINE reverse_iterator2 boost::numeric::ublas::vector_of_vector< T, L, A >::rend2 ( ) [inline]

Definition at line 2136 of file matrix.hpp.

template<class T , class L , class A >
template<class Archive >
void boost::numeric::ublas::vector_of_vector< T, L, A >::serialize ( Archive &  ar,
const unsigned  int 
) [inline]

Definition at line 2142 of file matrix.hpp.

BOOST_UBLAS_INLINE const container_type& boost::numeric::ublas::matrix_container< vector_of_vector< T, L, A > >::operator() ( ) const [inline, inherited]
BOOST_UBLAS_INLINE container_type& boost::numeric::ublas::matrix_container< vector_of_vector< T, L, A > >::operator() ( ) [inline, inherited]

Friends And Related Function Documentation

template<class T , class L , class A >
BOOST_UBLAS_INLINE friend void swap ( vector_of_vector< T, L, A > &  m1,
vector_of_vector< T, L, A > &  m2 
) [friend]

Definition at line 1399 of file matrix.hpp.


Member Data Documentation

template<class T , class L , class A >
size_type boost::numeric::ublas::vector_of_vector< T, L, A >::size1_ [private]

Definition at line 2162 of file matrix.hpp.

template<class T , class L , class A >
size_type boost::numeric::ublas::vector_of_vector< T, L, A >::size2_ [private]

Definition at line 2163 of file matrix.hpp.

template<class T , class L , class A >
array_type boost::numeric::ublas::vector_of_vector< T, L, A >::data_ [private]

Definition at line 2164 of file matrix.hpp.


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