Classes | Namespaces | Functions
Matrix.h File Reference
#include <vector>
#include <string>
#include <set>
#include <cmath>
#include "Exception.h"
#include "MatrixSquareBracketsAccess.h"
#include "Tools.h"
#include "Log.h"
#include "lapack/lapack.h"

Classes

class  PLMD::Matrix< T >
 This class stores a full matrix and allows one to do some simple matrix operations. More...
 

Namespaces

 PLMD
 

Functions

template<typename T >
PLMD::dotProduct (const std::vector< T > &A, const std::vector< T > &B)
 Calculate the dot product between two vectors. More...
 
template<typename T >
PLMD::norm (const std::vector< T > &A)
 Calculate the dot product between a vector and itself. More...
 
template<typename T >
Matrix< T > PLMD::operator* (T &v, const Matrix< T > &m)
 Multiply matrix by scalar. More...
 
template<typename T >
void PLMD::mult (const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
 
template<typename T >
void PLMD::mult (const Matrix< T > &A, const std::vector< T > &B, std::vector< T > &C)
 
template<typename T >
void PLMD::mult (const std::vector< T > &A, const Matrix< T > &B, std::vector< T > &C)
 
template<typename T >
void PLMD::transpose (const Matrix< T > &A, Matrix< T > &AT)
 
template<typename T >
Log & PLMD::operator<< (Log &ostr, const Matrix< T > &mat)
 
template<typename T >
void PLMD::matrixOut (Log &ostr, const Matrix< T > &mat)
 
template<typename T >
int PLMD::diagMat (const Matrix< T > &A, std::vector< double > &eigenvals, Matrix< double > &eigenvecs)
 
template<typename T >
int PLMD::pseudoInvert (const Matrix< T > &A, Matrix< double > &pseudoinverse)
 
template<typename T >
int PLMD::Invert (const Matrix< T > &A, Matrix< double > &inverse)
 
template<typename T >
void PLMD::cholesky (const Matrix< T > &A, Matrix< T > &B)
 
template<typename T >
void PLMD::chol_elsolve (const Matrix< T > &M, const std::vector< T > &b, std::vector< T > &y)
 
template<typename T >
int PLMD::logdet (const Matrix< T > &M, double &ldet)