MyraMath
Classes
gramschmidt.h File Reference

Routines for orthogonalizing column vectors via classical and modified gram-schmidt. More...

#include <myramath/MYRAMATH_EXPORT.h>
#include <myramath/utility/Number.h>
Include dependency graph for gramschmidt.h:

Go to the source code of this file.

Classes

class  myra::Matrix< Number >
 Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAPACK. More...
 
class  myra::Vector< Number >
 Tabulates a vector of length N, allows random access. More...
 
class  myra::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::VectorRange< Number >
 Represents a mutable VectorRange. More...
 
class  myra::CMatrixRange< Number >
 Represents a const MatrixRange. More...
 
class  myra::CVectorRange< Number >
 Represents a const VectorRange. More...
 

Functions

NumberS myra::cgs_inplace (const CVectorRange< NumberS > &q, const VectorRange< NumberS > &v)
 Orthogonalize v against q via classical gram-schmidt, v = (I-qq')*v, returns q'v.
 
NumberD myra::cgs_inplace (const CVectorRange< NumberD > &q, const VectorRange< NumberD > &v)
 Orthogonalize v against q via classical gram-schmidt, v = (I-qq')*v, returns q'v.
 
NumberC myra::cgs_inplace (const CVectorRange< NumberC > &q, const VectorRange< NumberC > &v)
 Orthogonalize v against q via classical gram-schmidt, v = (I-qq')*v, returns q'v.
 
NumberZ myra::cgs_inplace (const CVectorRange< NumberZ > &q, const VectorRange< NumberZ > &v)
 Orthogonalize v against q via classical gram-schmidt, v = (I-qq')*v, returns q'v.
 
Vector< NumberS > myra::cgs_inplace (const CMatrixRange< NumberS > &Q, const VectorRange< NumberS > &v)
 Orthogonalizes v against Q via classical gram-schmidt, v = (I-QQ')*v, returns Q'v.
 
Vector< NumberD > myra::cgs_inplace (const CMatrixRange< NumberD > &Q, const VectorRange< NumberD > &v)
 Orthogonalizes v against Q via classical gram-schmidt, v = (I-QQ')*v, returns Q'v.
 
Vector< NumberC > myra::cgs_inplace (const CMatrixRange< NumberC > &Q, const VectorRange< NumberC > &v)
 Orthogonalizes v against Q via classical gram-schmidt, v = (I-QQ')*v, returns Q'v.
 
Vector< NumberZ > myra::cgs_inplace (const CMatrixRange< NumberZ > &Q, const VectorRange< NumberZ > &v)
 Orthogonalizes v against Q via classical gram-schmidt, v = (I-QQ')*v, returns Q'v.
 
Matrix< NumberS > myra::cgs_inplace (const CMatrixRange< NumberS > &Q, const MatrixRange< NumberS > &V)
 Orthogonalizes V against Q via classical gram-schmidt, V = (I-QQ')*V, returns Q'V.
 
Matrix< NumberD > myra::cgs_inplace (const CMatrixRange< NumberD > &Q, const MatrixRange< NumberD > &V)
 Orthogonalizes V against Q via classical gram-schmidt, V = (I-QQ')*V, returns Q'V.
 
Matrix< NumberC > myra::cgs_inplace (const CMatrixRange< NumberC > &Q, const MatrixRange< NumberC > &V)
 Orthogonalizes V against Q via classical gram-schmidt, V = (I-QQ')*V, returns Q'V.
 
Matrix< NumberZ > myra::cgs_inplace (const CMatrixRange< NumberZ > &Q, const MatrixRange< NumberZ > &V)
 Orthogonalizes V against Q via classical gram-schmidt, V = (I-QQ')*V, returns Q'V.
 
void myra::mgs_inplace (const MatrixRange< NumberS > &A, const MatrixRange< NumberS > &R)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Ovewrites R such that A=Q*R.
 
void myra::mgs_inplace (const MatrixRange< NumberD > &A, const MatrixRange< NumberD > &R)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Ovewrites R such that A=Q*R.
 
void myra::mgs_inplace (const MatrixRange< NumberC > &A, const MatrixRange< NumberC > &R)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Ovewrites R such that A=Q*R.
 
void myra::mgs_inplace (const MatrixRange< NumberZ > &A, const MatrixRange< NumberZ > &R)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Ovewrites R such that A=Q*R.
 
Matrix< NumberS > myra::mgs_inplace (const MatrixRange< NumberS > &A)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Returns R such that A=Q*R.
 
Matrix< NumberD > myra::mgs_inplace (const MatrixRange< NumberD > &A)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Returns R such that A=Q*R.
 
Matrix< NumberC > myra::mgs_inplace (const MatrixRange< NumberC > &A)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Returns R such that A=Q*R.
 
Matrix< NumberZ > myra::mgs_inplace (const MatrixRange< NumberZ > &A)
 Overwrites A with orthonormal columns Q via modified gram-schmidt. Returns R such that A=Q*R.
 
std::pair< Matrix< NumberS >, Matrix< NumberS > > myra::mgs (const CMatrixRange< NumberS > &A)
 Factors A = Q*R, where Q is orthogonal and R is upper triangular.
 
std::pair< Matrix< NumberD >, Matrix< NumberD > > myra::mgs (const CMatrixRange< NumberD > &A)
 Factors A = Q*R, where Q is orthogonal and R is upper triangular.
 
std::pair< Matrix< NumberC >, Matrix< NumberC > > myra::mgs (const CMatrixRange< NumberC > &A)
 Factors A = Q*R, where Q is orthogonal and R is upper triangular.
 
std::pair< Matrix< NumberZ >, Matrix< NumberZ > > myra::mgs (const CMatrixRange< NumberZ > &A)
 Factors A = Q*R, where Q is orthogonal and R is upper triangular.
 

Detailed Description

Routines for orthogonalizing column vectors via classical and modified gram-schmidt.