#include <shark/LinAlg/BLAS/triangular_matrix.hpp>
Classes | |
class | major1_iterator |
class | major2_iterator |
Public Types | |
typedef value_type | const_reference |
typedef value_type | reference |
typedef const T * | const_pointer |
typedef T * | pointer |
typedef index_type const * | const_index_pointer |
typedef index_type | index_pointer |
typedef packed_tag | storage_category |
typedef elementwise_tag | evaluation_category |
typedef packed< Orientation, TriangularType > | orientation |
typedef boost::mpl::if_< boost::is_same< Orientation, row_major >, dense_storage_iterator< value_type >, typename boost::mpl::if_c< TriangularType::is_upper, major1_iterator< value_type >, major2_iterator< value_type > >::type >::type | row_iterator |
typedef boost::mpl::if_< boost::is_same< Orientation, row_major >, typename boost::mpl::if_c< TriangularType::is_upper, major2_iterator< value_type >, major1_iterator< value_type > >::type, dense_storage_iterator< value_type > >::type | column_iterator |
typedef boost::mpl::if_< boost::is_same< Orientation, row_major >, dense_storage_iterator< value_type const >, typename boost::mpl::if_c< TriangularType::is_upper, major1_iterator< value_type const >, major2_iterator< value_type const > >::type >::type | const_row_iterator |
typedef boost::mpl::if_< boost::is_same< Orientation, row_major >, typename boost::mpl::if_c< TriangularType::is_upper, major2_iterator< value_type const >, major1_iterator< value_type const > >::type, dense_storage_iterator< value_type const > >::type | const_column_iterator |
Public Member Functions | |
triangular_matrix () | |
Default triangular_matrix constructor. Make a dense matrix of size (0,0) More... | |
triangular_matrix (size_type size) | |
triangular_matrix (size_type size, scalar_type init) | |
triangular_matrix (const triangular_matrix &m) | |
template<class E > | |
triangular_matrix (matrix_expression< E > const &e) | |
size_type | size1 () const |
Returns the number of rows of the matrix. More... | |
size_type | size2 () const |
Returns the number of columns of the matrix. More... | |
const_pointer | storage () const |
Returns the pointer to the beginning of the matrix storage. More... | |
pointer | storage () |
Returns the pointer to the beginning of the matrix storage. More... | |
size_type | nnz () const |
Number of nonzero-elements stores in the matrix. More... | |
void | resize (size_type size) |
void | resize (size_type size1, size_type size2) |
void | clear () |
const_reference | operator() (index_type i, index_type j) const |
void | set_element (std::size_t i, std::size_t j, value_type t) |
bool | non_zero (std::size_t i, std::size_t j) const |
triangular_matrix & | operator= (triangular_matrix m) |
template<class C > | |
triangular_matrix & | operator= (const matrix_container< C > &m) |
template<class E > | |
triangular_matrix & | operator= (matrix_expression< E > const &e) |
void | swap (triangular_matrix &m) |
const_row_iterator | row_begin (index_type i) const |
const_row_iterator | row_end (index_type i) const |
row_iterator | row_begin (index_type i) |
row_iterator | row_end (index_type i) |
const_column_iterator | column_begin (index_type i) const |
const_column_iterator | column_end (index_type i) const |
column_iterator | column_begin (index_type i) |
column_iterator | column_end (index_type i) |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
![]() | |
const container_type & | operator() () const |
container_type & | operator() () |
![]() | |
const expression_type & | operator() () const |
expression_type & | operator() () |
Friends | |
void | swap (triangular_matrix &m1, triangular_matrix &m2) |
Definition at line 44 of file triangular_matrix.hpp.
typedef boost::mpl::if_< boost::is_same<Orientation,row_major>, typename boost::mpl::if_c< TriangularType::is_upper, major2_iterator<value_type>, major1_iterator<value_type> >::type, dense_storage_iterator<value_type> >::type shark::blas::triangular_matrix< T, Orientation, TriangularType >::column_iterator |
Definition at line 413 of file triangular_matrix.hpp.
typedef boost::mpl::if_< boost::is_same<Orientation,row_major>, typename boost::mpl::if_c< TriangularType::is_upper, major2_iterator<value_type const>, major1_iterator<value_type const> >::type, dense_storage_iterator<value_type const> >::type shark::blas::triangular_matrix< T, Orientation, TriangularType >::const_column_iterator |
Definition at line 432 of file triangular_matrix.hpp.
typedef index_type const* shark::blas::triangular_matrix< T, Orientation, TriangularType >::const_index_pointer |
Definition at line 58 of file triangular_matrix.hpp.
typedef const T* shark::blas::triangular_matrix< T, Orientation, TriangularType >::const_pointer |
Definition at line 54 of file triangular_matrix.hpp.
typedef value_type shark::blas::triangular_matrix< T, Orientation, TriangularType >::const_reference |
Definition at line 52 of file triangular_matrix.hpp.
typedef boost::mpl::if_< boost::is_same<Orientation,row_major>, dense_storage_iterator<value_type const>, typename boost::mpl::if_c< TriangularType::is_upper, major1_iterator<value_type const>, major2_iterator<value_type const> >::type >::type shark::blas::triangular_matrix< T, Orientation, TriangularType >::const_row_iterator |
Definition at line 423 of file triangular_matrix.hpp.
typedef elementwise_tag shark::blas::triangular_matrix< T, Orientation, TriangularType >::evaluation_category |
Definition at line 64 of file triangular_matrix.hpp.
typedef index_type shark::blas::triangular_matrix< T, Orientation, TriangularType >::index_pointer |
Definition at line 59 of file triangular_matrix.hpp.
typedef packed<Orientation,TriangularType> shark::blas::triangular_matrix< T, Orientation, TriangularType >::orientation |
Definition at line 65 of file triangular_matrix.hpp.
typedef T* shark::blas::triangular_matrix< T, Orientation, TriangularType >::pointer |
Definition at line 55 of file triangular_matrix.hpp.
typedef value_type shark::blas::triangular_matrix< T, Orientation, TriangularType >::reference |
Definition at line 53 of file triangular_matrix.hpp.
typedef boost::mpl::if_< boost::is_same<Orientation,row_major>, dense_storage_iterator<value_type>, typename boost::mpl::if_c< TriangularType::is_upper, major1_iterator<value_type>, major2_iterator<value_type> >::type >::type shark::blas::triangular_matrix< T, Orientation, TriangularType >::row_iterator |
Definition at line 404 of file triangular_matrix.hpp.
typedef packed_tag shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage_category |
Definition at line 63 of file triangular_matrix.hpp.
|
inline |
Default triangular_matrix constructor. Make a dense matrix of size (0,0)
Definition at line 70 of file triangular_matrix.hpp.
|
inline |
Packed matrix constructor with defined size
size | number of rows and columns |
Definition at line 75 of file triangular_matrix.hpp.
|
inline |
Packed matrix constructor with defined size and an initial value for all triangular matrix elements
size | number of rows and columns |
init | initial value of the non-zero elements |
Definition at line 81 of file triangular_matrix.hpp.
|
inline |
Copy-constructor of a dense matrix
m | is a dense matrix |
Definition at line 86 of file triangular_matrix.hpp.
|
inline |
Copy-constructor of a dense matrix from a matrix expression
e | is a matrix expression which has to be triangular |
Definition at line 92 of file triangular_matrix.hpp.
References shark::blas::assign().
|
inline |
Definition at line 155 of file triangular_matrix.hpp.
|
inline |
Definition at line 469 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 485 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 477 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size2(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 493 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size2(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Number of nonzero-elements stores in the matrix.
Definition at line 132 of file triangular_matrix.hpp.
|
inline |
Definition at line 172 of file triangular_matrix.hpp.
|
inline |
Definition at line 160 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1().
|
inline |
Definition at line 177 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::swap().
|
inline |
Definition at line 182 of file triangular_matrix.hpp.
References shark::blas::assign(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::resize(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size2(), and SIZE_CHECK.
|
inline |
Definition at line 189 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::swap().
|
inline |
Resize a matrix to new dimensions. If resizing is performed, the data is not preserved.
size | the new number of rows and columns |
Definition at line 144 of file triangular_matrix.hpp.
References shark::size().
Referenced by shark::blas::triangular_matrix< T, Orientation, TriangularType >::operator=(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::resize().
|
inline |
Definition at line 149 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::resize(), and SIZE_CHECK.
|
inline |
Definition at line 436 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 452 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 444 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size2(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 460 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::major1_iterator< TIter >::index(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::size2(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::storage().
|
inline |
Definition at line 504 of file triangular_matrix.hpp.
|
inline |
Definition at line 167 of file triangular_matrix.hpp.
References shark::blas::triangular_matrix< T, Orientation, TriangularType >::size1(), and SIZE_CHECK.
|
inline |
Returns the number of rows of the matrix.
Definition at line 103 of file triangular_matrix.hpp.
Referenced by shark::blas::triangular_matrix< T, Orientation, TriangularType >::column_begin(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::column_end(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::operator()(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::operator=(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::row_begin(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::row_end(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::set_element().
|
inline |
Returns the number of columns of the matrix.
Definition at line 107 of file triangular_matrix.hpp.
Referenced by shark::blas::triangular_matrix< T, Orientation, TriangularType >::column_end(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::operator=(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::row_end().
|
inline |
Returns the pointer to the beginning of the matrix storage.
Grants low-level access to the matrix internals. Element order depends on whether the matrix is row_major or column_major and upper or lower triangular
Definition at line 115 of file triangular_matrix.hpp.
Referenced by shark::blas::triangular_matrix< T, Orientation, TriangularType >::column_begin(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::column_end(), shark::blas::triangular_matrix< T, Orientation, TriangularType >::row_begin(), and shark::blas::triangular_matrix< T, Orientation, TriangularType >::row_end().
|
inline |
Returns the pointer to the beginning of the matrix storage.
Grants low-level access to the matrix internals. Element order depends on whether the matrix is row_major or column_major. to access element (i,j) use storage()[i*stride1()+j*stride2()].
Definition at line 125 of file triangular_matrix.hpp.
|
inline |
Definition at line 196 of file triangular_matrix.hpp.
References shark::swap().
Referenced by shark::blas::triangular_matrix< T, Orientation, TriangularType >::operator=().
|
friend |
Definition at line 200 of file triangular_matrix.hpp.