bdm::sqmat Class Reference

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


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.

#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

Member Function Documentation

virtual void bdm::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 bdm::chmat, bdm::fsqmat, and bdm::ldmat.

virtual void bdm::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 bdm::chmat, bdm::fsqmat, and bdm::ldmat.

virtual void bdm::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 bdm::chmat, bdm::fsqmat, and bdm::ldmat.

virtual vec bdm::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 bdm::chmat, bdm::fsqmat, and bdm::ldmat.


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

Generated on Sun Sep 13 23:08:56 2009 for mixpp by  doxygen 1.6.1