mixpp: bdm::sqmat Class Reference

bdm::sqmat Class Reference

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

#include <square_mat.h>

Inheritance diagram for bdm::sqmat:

bdm::chmat bdm::fsqmat bdm::ldmat 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 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,

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,

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.

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.


The documentation for this class was generated from the following file:
Generated on 2 Dec 2013 for mixpp by  doxygen 1.4.7