# sqmat Class Reference
[Auxiliary math functions]

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

`#include <libDC.h>`

Inheritance diagram for sqmat:

[legend]

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 , i.e. .
virtual void | mult_sym_t (const mat &C)=0
| Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. .
virtual double | logdet () const =0
| Logarithm of a determinant.
virtual vec | sqrt_mult (const vec &v) const =0
| Multiplies square root of by vector .
virtual double | qform (const vec &v) const =0
| Evaluates quadratic form ;.
virtual double | invqform (const vec &v) const =0
| Evaluates quadratic form ;.
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: cols().
virtual | ~sqmat ()
| Destructor for future use;.
| sqmat (const int dim0)
| Default constructor.
## Protected Attributes
int | dim
| dimension of the square matrix

## Detailed Description

Virtual 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::opupdt | ( | const vec & | v,
|  | double | w |
| ) |  |  | `[pure virtual]`

Perfroms a rank-1 update by outer product of vectors: .

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 void sqmat::mult_sym | ( | const mat & | C | ) | `[pure virtual]`

Inplace symmetric multiplication by a SQUARE matrix , i.e. .

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 , i.e. .

Parameters:

  | C | multiplying matrix,

Implemented in chmat, fsqmat, and ldmat.

virtual vec sqmat::sqrt_mult | ( | const vec & | v | ) | const`[pure virtual]`

Multiplies square root of by vector .

Used e.g. in generating normal samples.

Implemented in chmat, fsqmat, and ldmat.

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

- work/git/mixpp/bdm/math/libDC.h