- Main Page
- Classes
- Files
- Related Pages

- Class List
- Class Hierarchy
- Class Members

# chmat Class Reference

Symmetric matrix stored in square root decomposition using upper cholesky. More...

`#include <chmat.h>`

Inheritance diagram for chmat:

[legend]
Collaboration diagram for chmat:

[legend]

List of all members.

## Public Member Functions
virtual void | opupdt (const vec &v, double w)
virtual mat | to_mat ()
| 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 void | clear ()
| Clearing matrix so that it corresponds to zeros.
virtual void | inv (mat &Inv)
virtual void | inv (chmat &Inv)
virtual | ~chmat ()
| Destructor for future use;.
| chmat (const int dim0)
| Default constructor.
| chmat (const mat &M)
| Default constructor (m3k:cholform).
mat & | _Ch ()
| Access function.
int | cols () const
| Reimplementing common functions of mat: cols().
int | rows () const
| Reimplementing common functions of mat: cols().
## Protected Attributes
mat | Ch
| Upper chollesky triangle of the matrix.
int | dim
| dimension of the square matrix

## Detailed Description

Symmetric matrix stored in square root decomposition using upper cholesky.

This matrix represent $A=Ch Ch'$ where only the upper triangle is stored;

## Member Function Documentation

void chmat::opupdt | ( | const vec & | v,
|  | double | w |
| ) |  |  | `[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.

Implements sqmat.

void chmat::mult_sym | ( | const mat & | C | ) | `[virtual]`

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

Parameters:

  | C | multiplying matrix,

Implements sqmat.

void chmat::mult_sym_t | ( | const mat & | C | ) | `[virtual]`

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

Parameters:

  | C | multiplying matrix,

Implements sqmat.

vec chmat::sqrt_mult | ( | const vec & | v | ) | const`[inline, virtual]`

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

Used e.g. in generating normal samples.

Implements sqmat.

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

- work/mixpp/bdm/math/chmat.h
- work/mixpp/bdm/math/chmat.cpp