sqmat Class Reference

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

#include <square_mat.h>

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: rows().
virtual ~sqmat ()
 Destructor for future use;.
 sqmat (const int dim0)
 Default constructor.
 sqmat ()
 Default constructor.

Protected Attributes

int dim
 dimension of the square matrix


Detailed Description

Abstract 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::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 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 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 Wed Aug 5 00:06:54 2009 for mixpp by  doxygen 1.5.9