sqmat Class Reference
[Auxiliary math functions]

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 () const =0
 Conversion to full matrix.
virtual void mult_sym (const mat &C)=0
 Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$.
virtual void mult_sym_t (const mat &C)=0
 Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$.
virtual double logdet () const =0
 Logarithm of a determinant.
virtual vec sqrt_mult (const vec &v) const =0
 Multiplies square root of $V$ by vector $x$.
virtual double qform (const vec &v) const =0
 Evaluates quadratic form $x= v'*V*v$;.
virtual double invqform (const vec &v) const =0
 Evaluates quadratic form $x= v'*inv(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().
virtual ~sqmat ()
 Destructor for future use;.
 sqmat (const int dim0)
 Default constructor.

Protected Attributes

int dim
 dimension of the square matrix


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 chosen 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 chmat, fsqmat, and ldmat.

virtual void sqmat::mult_sym ( const mat &  C  )  [pure virtual]

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

Parameters:
C multiplying matrix,

Implemented in chmat, fsqmat, and ldmat.

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

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

Parameters:
C multiplying matrix,

Implemented in chmat, fsqmat, and ldmat.

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

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

Used e.g. in generating normal samples.

Implemented in chmat, fsqmat, and ldmat.


The documentation for this class was generated from the following file:

Generated on Thu Jan 15 10:51:27 2009 for mixpp by  doxygen 1.5.6