OpenWalnut
1.4.0
|
Symmetric square matrix, storing only the elements of the triangular matrix without the main diagonal. More...
#include <WMatrixSym.h>
Public Types | |
typedef T | value_type |
Type of stored elements. | |
typedef boost::shared_ptr < WMatrixSym< T > > | SPtr |
Shorthand for shared pointers. | |
Public Member Functions | |
WMatrixSym (size_t n) | |
Generates new symmetric matrix. | |
WMatrixSym () | |
Default constructor leaving all empty. | |
T & | operator() (size_t i, size_t j) throw ( WOutOfBounds ) |
Element acces operator as if the elements where stored as a normal matrix. | |
const T & | operator() (size_t i, size_t j) const throw ( WOutOfBounds ) |
Const version of the element access. | |
size_t | numElements () const |
Returns the number of elements stored in this matrix. | |
size_t | size () const |
Returns the number of rows and cols of the matrix. | |
const std::vector< T > & | getData () const |
Returns the elements stored inside of this container. | |
void | setData (const std::vector< T > &data) throw ( WOutOfBounds ) |
Resets the internal data to the given vector of elements. | |
std::string | toString (void) const |
Renders the matrix to a full nxn matrix, where the main diagonal is set to 0.0 and the m(i,j) == m(j,i). | |
Private Attributes | |
std::vector< T > | m_data |
Internal data structure to store the elements. | |
size_t | m_n |
Number of rows and cols. | |
Friends | |
class | WMatrixSymTest |
Symmetric square matrix, storing only the elements of the triangular matrix without the main diagonal.
So in case of a NxN matrix there are only (N^2-N)/2 elements stored.
Definition at line 46 of file WMatrixSym.h.
typedef boost::shared_ptr< WMatrixSym < T > > WMatrixSym< T >::SPtr |
Shorthand for shared pointers.
Definition at line 58 of file WMatrixSym.h.
typedef T WMatrixSym< T >::value_type |
Type of stored elements.
Definition at line 53 of file WMatrixSym.h.
WMatrixSym< T >::WMatrixSym | ( | size_t | n | ) | [inline, explicit] |
Generates new symmetric matrix.
n | number of rows and cols |
Definition at line 143 of file WMatrixSym.h.
WMatrixSym< T >::WMatrixSym | ( | ) | [inline] |
Default constructor leaving all empty.
Definition at line 150 of file WMatrixSym.h.
const std::vector< T > & WMatrixSym< T >::getData | ( | ) | const [inline] |
Returns the elements stored inside of this container.
Definition at line 310 of file WMatrixSym.h.
size_t WMatrixSym< T >::numElements | ( | ) | const [inline] |
Returns the number of elements stored in this matrix.
Definition at line 298 of file WMatrixSym.h.
T & WMatrixSym< T >::operator() | ( | size_t | i, |
size_t | j | ||
) | throw ( WOutOfBounds ) [inline] |
Element acces operator as if the elements where stored as a normal matrix.
i | The i'th row |
j | The j'th column |
Definition at line 173 of file WMatrixSym.h.
const T & WMatrixSym< T >::operator() | ( | size_t | i, |
size_t | j | ||
) | const throw ( WOutOfBounds ) [inline] |
Const version of the element access.
i | The i'th row |
j | The j'th column |
Definition at line 156 of file WMatrixSym.h.
void WMatrixSym< T >::setData | ( | const std::vector< T > & | data | ) | throw ( WOutOfBounds ) [inline] |
Resets the internal data to the given vector of elements.
data | new data in row major arrangement |
Definition at line 316 of file WMatrixSym.h.
Referenced by WMatrixSymTest::testAccessOn3x3Matrix(), WMatrixSymTest::testInputStream(), WMatrixSymTest::testOutputStream(), WMatrixSymTest::testSetDataWithInvalidLengthForDimension(), and WMatrixSymTest::testToString().
size_t WMatrixSym< T >::size | ( | ) | const [inline] |
Returns the number of rows and cols of the matrix.
Definition at line 304 of file WMatrixSym.h.
std::string WMatrixSym< T >::toString | ( | void | ) | const [inline] |
Renders the matrix to a full nxn matrix, where the main diagonal is set to 0.0 and the m(i,j) == m(j,i).
Each column is separated by exactly one space and each row is separated by a newline.
Definition at line 190 of file WMatrixSym.h.
Referenced by WMatrixSymTest::testToString().
std::vector< T > WMatrixSym< T >::m_data [private] |
Internal data structure to store the elements.
The order is row major.
Definition at line 134 of file WMatrixSym.h.
Referenced by WMatrixSymTest::testOperatorOn3x3Matrix().
size_t WMatrixSym< T >::m_n [private] |
Number of rows and cols.
Definition at line 139 of file WMatrixSym.h.