fsqmat sqmat libDC.h mat mat fsqmat::M M Full matrix on which the operations are performed. add clear fsqmat getD inv invqform logdet mult_sym mult_sym_t operator*= operator+= operator-= opupdt qform setD sqrt_mult to_mat int int sqmat::dim dim dimension of the square matrix ldmat::add ldmat::cols sqmat::cols ldmat::ldform ldmat::ldmat ltuinv ldmat::opupdt ldmat::rows sqmat::rows ldmat::sqrt_mult ldmat::to_mat void void fsqmat::opupdt (const vec &v, double w) opupdt opupdt const vec & v double w Perfroms a rank-1 update by outer product of vectors: $V = V + w v v'$. v Vector forming the outer product to be added w weight of updating; can be negative BLAS-2b operation. M mat mat fsqmat::to_mat () to_mat to_mat Conversion to full matrix. M EKF< sq_T >::bayes void void fsqmat::mult_sym (const mat &C) mult_sym mult_sym const mat & C Inplace symmetric multiplication by a SQUARE matrix $C$, i.e. $V = C*V*C'$. C multiplying matrix, M EKF< sq_T >::bayes void void fsqmat::mult_sym_t (const mat &C) mult_sym_t mult_sym_t const mat & C Inplace symmetric multiplication by a SQUARE transpose of matrix $C$, i.e. $V = C'*V*C$. C multiplying matrix, M void void fsqmat::mult_sym (const mat &C, fsqmat &U) const mult_sym const mat & C fsqmat & U store result of mult_sym in external matrix $U$ M void void fsqmat::mult_sym_t (const mat &C, fsqmat &U) const mult_sym_t const mat & C fsqmat & U store result of mult_sym_t in external matrix $U$ M void void fsqmat::clear () clear clear Clearing matrix so that it corresponds to zeros. M fsqmat::fsqmat () fsqmat Default initialization. fsqmat::fsqmat (const int dim0) fsqmat const int dim0 Default initialization with proper size. fsqmat::fsqmat (const mat &M) fsqmat const mat & M Constructor. M fsqmat::fsqmat (const vec &d) fsqmat const vec & d Constructor. M virtual fsqmat::~fsqmat () ~fsqmat Destructor for future use;. void void fsqmat::inv (fsqmat &Inv) inv fsqmat & Inv Matrix inversion preserving the chosen form. Inv a space where the inverse is stored. M EKF< sq_T >::bayes double double fsqmat::logdet () const logdet logdet Logarithm of a determinant. M double double fsqmat::qform (const vec &v) const qform qform const vec & v Evaluates quadratic form $x= v'*V*v$;. M double double fsqmat::invqform (const vec &v) const invqform invqform const vec & v Evaluates quadratic form $x= v'*inv(V)*v$;. M vec vec fsqmat::sqrt_mult (const vec &v) const sqrt_mult sqrt_mult const vec & v Multiplies square root of $V$ by vector $x$. Used e.g. in generating normal samples. M void void fsqmat::add (const fsqmat &fsq2, double w=1.0) add const fsqmat & fsq2 double w 1.0 Add another matrix in fsq form with weight w. M void void fsqmat::setD (const vec &nD) setD const vec & nD Access functions. M vec vec fsqmat::getD () getD Access functions. M void void fsqmat::setD (const vec &nD, int i) setD const vec & nD int i Access functions. M fsqmat & fsqmat& fsqmat::operator+= (const fsqmat &A) operator+= const fsqmat & A add another fsqmat matrix M fsqmat & fsqmat& fsqmat::operator-= (const fsqmat &A) operator-= const fsqmat & A subtrack another fsqmat matrix M fsqmat & fsqmat& fsqmat::operator*= (double x) operator*= double x multiply by a scalar M int int sqmat::cols () const cols cols Reimplementing common functions of mat: cols(). sqmat::dim int int sqmat::rows () const rows rows Reimplementing common functions of mat: cols(). sqmat::dim friend std::ostream & std::ostream& operator<< (std::ostream &os, const fsqmat &sq) operator<< std::ostream & os const fsqmat & sq print full matrix Fake sqmat. This class maps sqmat operations to operations on full matrix. This class can be used to compare performance of algorithms using decomposed matrices with perormance of the same algorithms using full matrices; fsqmatadd fsqmatclear fsqmatcols fsqmatdim fsqmatfsqmat fsqmatfsqmat fsqmatfsqmat fsqmatfsqmat fsqmatgetD fsqmatinv fsqmatinvqform fsqmatlogdet fsqmatM fsqmatmult_sym fsqmatmult_sym fsqmatmult_sym_t fsqmatmult_sym_t fsqmatoperator*= fsqmatoperator+= fsqmatoperator-= fsqmatoperator<< fsqmatopupdt fsqmatqform fsqmatrows fsqmatsetD fsqmatsetD fsqmatsqmat fsqmatsqrt_mult fsqmatto_mat fsqmat~fsqmat fsqmat~sqmat