bdm::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)
virtual mat to_mat () const
 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 double invqform (const vec &v) const
 Evaluates quadratic form $x= v'*inv(V)*v$;.
virtual void clear ()
 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 bdm::sqmat::mult_sym ( const mat &  C  )  [inline, virtual]

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

Parameters:
C multiplying matrix,

Reimplemented in bdm::chmat, bdm::fsqmat, and bdm::ldmat.

References bdm_error.

virtual void bdm::sqmat::mult_sym_t ( const mat &  C  )  [inline, virtual]

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

Parameters:
C multiplying matrix,

Reimplemented in bdm::chmat, bdm::fsqmat, and bdm::ldmat.

References bdm_error.

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

Reimplemented in bdm::chmat, bdm::fsqmat, and bdm::ldmat.

References bdm_error.

virtual vec bdm::sqmat::sqrt_mult ( const vec &  v  )  const [inline, virtual]

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

Used e.g. in generating normal samples.

Reimplemented in bdm::chmat, bdm::fsqmat, and bdm::ldmat.

References bdm_error.


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

Generated on Wed Oct 7 17:34:47 2009 for mixpp by  doxygen 1.5.9