fsqmat Class Reference

Fake sqmat. This class maps sqmat operations to operations on full matrix. More...

#include <libDC.h>

Inheritance diagram for fsqmat:

Inheritance graph
[legend]
Collaboration diagram for fsqmat:

Collaboration graph
[legend]

List of all members.

Public Member Functions

void opupdt (const vec &v, double w)
mat to_mat ()
 Conversion to full matrix.
void mult_sym (const mat &C, bool trans=false)
 Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.
void mult_sym (const mat &C, fsqmat &U, bool trans=false)
void clear ()
 Clearing matrix so that it corresponds to zeros.
 fsqmat (const mat &M)
 Constructor.
virtual void inv (fsqmat &Inv)
 Matrix inversion preserving the chosen form.
double logdet ()
 Logarithm of a determinant.
double qform (vec &v)
 Evaluates quadratic form $x= v'*V*v$;.
vec sqrt_mult (vec &v)
 Multiplies square root of $V$ by vector $x$.
fsqmatoperator+= (const fsqmat &A)
fsqmatoperator-= (const fsqmat &A)
fsqmatoperator *= (double x)
int cols () const
 Reimplementing common functions of mat: cols().
int rows () const
 Reimplementing common functions of mat: cols().

Protected Attributes

mat M
int dim


Detailed Description

Fake sqmat. This class maps sqmat operations to operations on full matrix.

This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices;


Member Function Documentation

void fsqmat::opupdt ( const vec &  v,
double  w 
) [virtual]

Perfroms a rank-1 update by outer product of vectors: $V = V + w v v'$.

Parameters:
v Vector forming the outer product to be added
w weight of updating; can be negative
BLAS-2b operation.

Implements sqmat.

void fsqmat::mult_sym ( const mat &  C,
bool  trans = false 
) [virtual]

Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.

Parameters:
C multiplying matrix,
trans if true, product $V = C'*V*C$ will be computed instead;

Implements sqmat.

void fsqmat::inv ( fsqmat Inv  )  [virtual]

Matrix inversion preserving the chosen form.

Parameters:
Inv a space where the inverse is stored.

vec fsqmat::sqrt_mult ( vec &  v  )  [inline, virtual]

Multiplies square root of $V$ by vector $x$.

Used e.g. in generating normal samples.

Implements sqmat.


The documentation for this class was generated from the following files:
Generated on Mon Feb 18 21:48:44 2008 for mixpp by  doxygen 1.5.3