#include <tnt_matrix.h>
Ordering: row major.
Elements begin at (1,1) or [0][0].
Can be interfaced with C multidimentionsal arrays (e.g. double **)
copy-by-value semantics.
Optional range checking at compile time via TNT_BOUNDS_CHECK macro.
Definition at line 56 of file tnt_matrix.h.
typedef const T* TNT::Matrix< T >::const_iterator |
Definition at line 175 of file tnt_matrix.h.
typedef const T& TNT::Matrix< T >::const_reference |
Definition at line 176 of file tnt_matrix.h.
typedef T TNT::Matrix< T >::element_type |
Definition at line 171 of file tnt_matrix.h.
typedef T* TNT::Matrix< T >::iterator |
Definition at line 173 of file tnt_matrix.h.
typedef T* TNT::Matrix< T >::pointer |
Definition at line 172 of file tnt_matrix.h.
typedef T& TNT::Matrix< T >::reference |
Definition at line 174 of file tnt_matrix.h.
typedef Subscript TNT::Matrix< T >::size_type |
Definition at line 169 of file tnt_matrix.h.
typedef T TNT::Matrix< T >::value_type |
Definition at line 170 of file tnt_matrix.h.
TNT::Matrix< T >::Matrix | ( | ) | [inline] |
Definition at line 194 of file tnt_matrix.h.
TNT::Matrix< T >::Matrix | ( | const Matrix< T > & | A | ) | [inline] |
Definition at line 196 of file tnt_matrix.h.
TNT::Matrix< T >::Matrix | ( | Subscript | M, | |
Subscript | N, | |||
const T & | value = T(0) | |||
) | [inline] |
Create a MxN matrix, with each element assigned to the value 0.
M | the number of rows | |
N | the number of columns | |
value | (optional default value: 0 if not specified. |
Definition at line 210 of file tnt_matrix.h.
TNT::Matrix< T >::Matrix | ( | Subscript | M, | |
Subscript | N, | |||
const T * | v | |||
) | [inline] |
Create an MxN matrix, filling in values (row-major order) from the list (C array) provided.
M | the number of rows | |
N | the number of columns | |
v | list (C array) of M*N values used to initialize matrix. |
Definition at line 224 of file tnt_matrix.h.
TNT::Matrix< T >::Matrix | ( | Subscript | M, | |
Subscript | N, | |||
const char * | s | |||
) | [inline] |
Create an MxN matrix, filling in values (row-major order) from a character string.
M | the number of rows | |
N | the number of columns | |
s | string of M*N values used to initialize matrix. |
Definition at line 238 of file tnt_matrix.h.
TNT::Matrix< T >::~Matrix | ( | ) | [inline] |
Definition at line 253 of file tnt_matrix.h.
void TNT::Matrix< T >::copy | ( | const T * | v | ) | [inline, private] |
Definition at line 98 of file tnt_matrix.h.
void TNT::Matrix< T >::destroy | ( | ) | [inline, private] |
Definition at line 153 of file tnt_matrix.h.
Vector<T> TNT::Matrix< T >::diag | ( | ) | const [inline] |
Definition at line 407 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::dim | ( | Subscript | d | ) | const [inline] |
Definition at line 328 of file tnt_matrix.h.
void TNT::Matrix< T >::initialize | ( | Subscript | M, | |
Subscript | N | |||
) | [inline, private] |
Definition at line 71 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::lbound | ( | ) | const [inline] |
Definition at line 178 of file tnt_matrix.h.
Matrix<T> TNT::Matrix< T >::lower_triangular | ( | ) | const |
Matrix<T>& TNT::Matrix< T >::newsize | ( | Subscript | M, | |
Subscript | N | |||
) | [inline] |
Change size of matrix to MxN, reallocating memory if necessary.
NOTE: This operations occurs in place, i.e. when resizing to a new matrix, original matrix elements are NOT retained. Instead, one must explicit create a new matrix of this size and manually copy the elements, e.g.
Matrix double B(M, N);
int min_M = M < A.num_rows() ? M : A.num_rows(); int min_N = N < A.num_cols() ? N : A.num_cols(); for (int i=1; i<=min_M; i++) for (int j=1; j<=min_N; j++) B(i,j) = A(i,j);
A.destroy();
M | the number of rows of new size. | |
N | the number of columns of new size. |
Definition at line 282 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::num_cols | ( | ) | const [inline] |
Definition at line 338 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::num_rows | ( | ) | const [inline] |
Definition at line 337 of file tnt_matrix.h.
TNT::Matrix< T >::operator const T ** | ( | ) | const [inline] |
Definition at line 184 of file tnt_matrix.h.
TNT::Matrix< T >::operator T ** | ( | ) | [inline] |
Definition at line 183 of file tnt_matrix.h.
const_reference TNT::Matrix< T >::operator() | ( | Subscript | i, | |
Subscript | j | |||
) | const [inline] |
Definition at line 394 of file tnt_matrix.h.
reference TNT::Matrix< T >::operator() | ( | Subscript | i, | |
Subscript | j | |||
) | [inline] |
Definition at line 381 of file tnt_matrix.h.
const_reference TNT::Matrix< T >::operator() | ( | Subscript | i | ) | const [inline] |
Definition at line 370 of file tnt_matrix.h.
reference TNT::Matrix< T >::operator() | ( | Subscript | i | ) | [inline] |
Definition at line 361 of file tnt_matrix.h.
Matrix<T>& TNT::Matrix< T >::operator= | ( | const T & | scalar | ) | [inline] |
Definition at line 321 of file tnt_matrix.h.
Matrix<T>& TNT::Matrix< T >::operator= | ( | const Matrix< T > & | B | ) | [inline] |
Assign (copy) one matrix to another, e.g. A=B. The contents of A are lost, and a new copy of B is created.
B | to matrix to be copied. |
Definition at line 303 of file tnt_matrix.h.
const T* TNT::Matrix< T >::operator[] | ( | Subscript | i | ) | const [inline] |
Definition at line 352 of file tnt_matrix.h.
T* TNT::Matrix< T >::operator[] | ( | Subscript | i | ) | [inline] |
Definition at line 343 of file tnt_matrix.h.
void TNT::Matrix< T >::set | ( | const T & | val | ) | [inline, private] |
Definition at line 124 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::size | ( | ) | const [inline] |
Matrix<T> TNT::Matrix< T >::upper_triangular | ( | ) | const |
Subscript TNT::Matrix< T >::m_ [private] |
Definition at line 60 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::mn_ [private] |
Definition at line 62 of file tnt_matrix.h.
Subscript TNT::Matrix< T >::n_ [private] |
Definition at line 61 of file tnt_matrix.h.
T** TNT::Matrix< T >::row_ [private] |
Definition at line 64 of file tnt_matrix.h.
T** TNT::Matrix< T >::rowm1_ [private] |
Definition at line 66 of file tnt_matrix.h.
T* TNT::Matrix< T >::v_ [private] |
Definition at line 63 of file tnt_matrix.h.
T* TNT::Matrix< T >::vm1_ [private] |
Definition at line 65 of file tnt_matrix.h.