chmat Class Reference

Symmetric matrix stored in square root decomposition using upper cholesky. More...

#include <chmat.h>

Inheritance diagram for chmat:

Inheritance graph
[legend]
Collaboration diagram for chmat:

Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void opupdt (const vec &v, double w)
virtual mat to_mat ()
 Conversion to full matrix.
virtual void mult_sym (const mat &C)
 Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.
virtual void mult_sym_t (const mat &C)
 Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$.
virtual double logdet () const
 Logarithm of a determinant.
virtual vec sqrt_mult (const vec &v) const
 Multiplies square root of $V$ by vector $x$.
virtual double qform (const vec &v) const
 Evaluates quadratic form $x= v'*V*v$;.
virtual void clear ()
 Clearing matrix so that it corresponds to zeros.
virtual void inv (mat &Inv)
virtual void inv (chmat &Inv)
virtual ~chmat ()
 Destructor for future use;.
 chmat (const int dim0)
 Default constructor.
 chmat (const mat &M)
 Default constructor (m3k:cholform).
mat & _Ch ()
 Access function.
int cols () const
 Reimplementing common functions of mat: cols().
int rows () const
 Reimplementing common functions of mat: cols().

Protected Attributes

mat Ch
 Upper chollesky triangle of the matrix.
int dim
 dimension of the square matrix


Detailed Description

Symmetric matrix stored in square root decomposition using upper cholesky.

This matrix represent $A=Ch Ch'$ where only the upper triangle is stored;


Member Function Documentation

void chmat::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 chmat::mult_sym ( const mat &  C  )  [virtual]

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

Parameters:
C multiplying matrix,

Implements sqmat.

void chmat::mult_sym_t ( const mat &  C  )  [virtual]

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

Parameters:
C multiplying matrix,

Implements sqmat.

vec chmat::sqrt_mult ( const vec &  v  )  const [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 Wed Mar 12 16:15:49 2008 for mixpp by  doxygen 1.5.3