#include <libDC.h>
Public Member Functions | |
void | opupdt (const vec &v, double w) |
mat | to_mat () |
Conversion to full matrix. | |
void | mult_sym (const mat &C) |
Inplace symmetric multiplication by a SQUARE matrix , i.e. . | |
void | mult_sym_t (const mat &C) |
Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. . | |
void | mult_sym (const mat &C, fsqmat &U) const |
store result of mult_sym in external matrix | |
void | mult_sym_t (const mat &C, fsqmat &U) const |
store result of mult_sym_t in external matrix | |
void | clear () |
Clearing matrix so that it corresponds to zeros. | |
fsqmat () | |
Default initialization. | |
fsqmat (const int dim0) | |
Default initialization with proper size. | |
fsqmat (const mat &M) | |
Constructor. | |
fsqmat (const vec &d) | |
Constructor. | |
virtual | ~fsqmat () |
Destructor for future use;. | |
virtual void | inv (fsqmat &Inv) |
Matrix inversion preserving the chosen form. | |
double | logdet () const |
Logarithm of a determinant. | |
double | qform (const vec &v) const |
Evaluates quadratic form ;. | |
double | invqform (const vec &v) const |
Evaluates quadratic form ;. | |
vec | sqrt_mult (const vec &v) const |
Multiplies square root of by vector . | |
void | setD (const vec &nD) |
Access functions. | |
vec | getD () |
Access functions. | |
void | setD (const vec &nD, int i) |
Access functions. | |
fsqmat & | operator+= (const fsqmat &A) |
add another fsqmat matrix | |
fsqmat & | operator-= (const fsqmat &A) |
subtrack another fsqmat matrix | |
fsqmat & | operator *= (double x) |
multiply by a scalar | |
int | cols () const |
Reimplementing common functions of mat: cols(). | |
int | rows () const |
Reimplementing common functions of mat: cols(). | |
Protected Attributes | |
mat | M |
Full matrix on which the operations are performed. | |
int | dim |
dimension of the square matrix | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const fsqmat &sq) |
print full matrix |
This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices;
void fsqmat::opupdt | ( | const vec & | v, | |
double | w | |||
) | [virtual] |
Perfroms a rank-1 update by outer product of vectors: .
v | Vector forming the outer product to be added | |
w | weight of updating; can be negative |
Implements sqmat.
void fsqmat::mult_sym | ( | const mat & | C | ) | [virtual] |
Inplace symmetric multiplication by a SQUARE matrix , i.e. .
C | multiplying matrix, |
Implements sqmat.
void fsqmat::mult_sym_t | ( | const mat & | C | ) | [virtual] |
Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .
C | multiplying matrix, |
Implements sqmat.
void fsqmat::inv | ( | fsqmat & | Inv | ) | [virtual] |
Matrix inversion preserving the chosen form.
Inv | a space where the inverse is stored. |
vec fsqmat::sqrt_mult | ( | const vec & | v | ) | const [inline, virtual] |