|
|
unsigned | size () const |
| | size of storage
|
| |
|
unsigned | nrows () const |
| | number of rows
|
| |
|
unsigned | ncols () const |
| | number of columns
|
| |
|
| diag_mat () |
| | standard constructor
|
| |
|
| diag_mat (unsigned n) |
| | creates nxn diagonal matrix
|
| |
|
| diag_mat (unsigned n, const T &c) |
| | creates nxn diagonal matrix and set all diagonal elements to c
|
| |
|
| diag_mat (const vec< T > &dv) |
| | creates a diagonal matrix and set the diagonal vector to dv
|
| |
|
| diag_mat (const mat< T > &m) |
| | creates a diagonal matrix and set the diagonal vector to diagonal entries of m
|
| |
|
| diag_mat (const diag_mat< T > &m) |
| | copy constructor
|
| |
|
virtual | ~diag_mat () |
| | destructor
|
| |
|
| operator T* () |
| | cast into array of element type
|
| |
|
| operator const T * () const |
| | cast into array of const element type
|
| |
|
diag_mat< T > | sub_mat (unsigned top_left, unsigned size) const |
| | create sub diagonal matrix d(top_left)...d(top_left+size)
|
| |
|
| operator const mat< T > () const |
| | cast into const full storage matrix
|
| |
|
void | identity () |
| | set diagonal matrix to identity
|
| |
|
void | fill (const T &c) |
| | fills all diagonal entries with c
|
| |
|
void | zeros () |
| | fills all diagonal entries with zero
|
| |
|
void | exchange_diagonal_elements (unsigned i, unsigned j) |
| | exchange diagonal elements i and j
|
| |
|
const T & | operator() (unsigned i) const |
| | const access to the ith diagonal element
|
| |
|
T & | operator() (unsigned i) |
| | non const access to the ith diagonal element
|
| |
|
bool | is_square () |
| | returns true because diagonal matrices are always square
|
| |
|
diag_mat< T > & | operator= (const diag_mat< T > &m) |
| | assignment of a matrix with the same element type
|
| |
|
template<typename S > |
| diag_mat< T > & | operator= (const diag_mat< S > &m) |
| | assignment of a matrix with a different element type
|
| |
| template<typename S > |
| diag_mat< T > & | operator= (const vec< S > &v) |
| |
|
diag_mat< T > & | operator= (const T &s) |
| | assignment of a scalar s to each element of the matrix
|
| |
|
T | frobenius_norm () const |
| | returns the frobenius norm of matrix m
|
| |
|
void | identity (unsigned dim) |
| | set dim x dim identity matrix
|
| |
|
void | zero () |
| | set zero matrix
|
| |
|
diag_mat< T > & | operator+= (const diag_mat< T > &d) |
| | in place addition of diagonal matrix
|
| |
|
diag_mat< T > & | operator-= (const diag_mat< T > &d) |
| | in place subtraction of diagonal matrix
|
| |
|
diag_mat< T > & | operator*= (const T &s) |
| | in place multiplication with scalar s
|
| |
|
diag_mat< T > | operator* (const T &s) const |
| | multiplication with scalar s
|
| |
|
diag_mat< T > | operator+ (const diag_mat< T > &d) const |
| | addition of diagonal matrix
|
| |
|
diag_mat< T > | operator- (const diag_mat< T > &d) const |
| | subtraction of diagonal matrix
|
| |
|
vec< T > | operator* (const vec< T > &v) const |
| | multiplication with vector
|
| |
|
const up_tri_mat< T > | operator* (const up_tri_mat< T > &m) |
| | matrix multiplication of matrix m by a diagonal matrix s
|
| |
|
| operator mat< T > () |
| | cast into full matrix type
|
| |
template<typename T>
struct cgv::math::diag_mat< T >
A diagonal matrix type which internally stores the elements on the main diagonal in a vector.