sqmat Class Reference

Virtual class for representation of double symmetric matrices in square-root form. More...

#include <libDC.h>

Inheritance diagram for sqmat:

Inheritance graph
[legend]

List of all members.

Public Member Functions

virtual void opupdt (const vec &v, double w)=0
virtual mat to_mat ()=0
 Conversion to full matrix.
virtual void mult_sym (const mat &C, bool trans=true)=0
 Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.
virtual double logdet ()=0
 Logarithm of a determinant.
virtual vec sqrt_mult (vec &v)=0
 Multiplies square root of $V$ by vector $x$.
virtual double qform (vec &v)=0
 Evaluates quadratic form $x= v'*V*v$;.
virtual void clear ()=0
 Clearing matrix so that it corresponds to zeros.
int cols () const
 Reimplementing common functions of mat: cols().
int rows () const
 Reimplementing common functions of mat: cols().

Protected Attributes

int dim


Detailed Description

Virtual class for representation of double symmetric matrices in square-root form.

All operations defined on this class should be optimized for the chosed decomposition.


Member Function Documentation

virtual void sqmat::opupdt ( const vec &  v,
double  w 
) [pure 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.

Implemented in fsqmat.

virtual void sqmat::mult_sym ( const mat &  C,
bool  trans = true 
) [pure 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;

Implemented in fsqmat.

virtual vec sqmat::sqrt_mult ( vec &  v  )  [pure virtual]

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

Used e.g. in generating normal samples.

Implemented in fsqmat.


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