Abstract class for representation of double symmetric matrices in square-root form. More...
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>
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 , i.e. . | |
virtual void | mult_sym_t (const mat &C) |
Inplace symmetric multiplication by a SQUARE transpose of matrix , i.e. . | |
virtual double | logdet () const |
Logarithm of a determinant. | |
virtual vec | sqrt_mult (const vec &v) const |
Multiplies square root of by vector . | |
virtual double | qform (const vec &v) const |
Evaluates quadratic form ;. | |
virtual double | invqform (const vec &v) const |
Evaluates quadratic form ;. | |
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 |
virtual void bdm::sqmat::mult_sym | ( | const mat & | C | ) | [inline, virtual] |
Inplace symmetric multiplication by a SQUARE matrix , i.e. .
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 , i.e. .
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 | 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 by vector .
Used e.g. in generating normal samples.
Reimplemented in bdm::chmat, bdm::fsqmat, and bdm::ldmat.
References bdm_error.