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.
, 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.
, 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
 by vector  .
. 
Used e.g. in generating normal samples.
Reimplemented in bdm::chmat, bdm::fsqmat, and bdm::ldmat.
References bdm_error.
 1.6.1
 1.6.1