MyraMath
Classes
lqt.h File Reference

Given the scalar reflectors [V,tau] from gelqf(), forms the T of the equivalent block reflector I-V'*T*V Semantically equivalent to dlarft('F'orward,'R'owwise), but put into the lower triangle instead of upper. More...

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

Go to the source code of this file.

Classes

class  myra::CMatrixRange< Number >
 Represents a const MatrixRange. More...
 
class  myra::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::CVectorRange< Number >
 Represents a const VectorRange. More...
 

Functions

void myra::lqt_inplace (const CMatrixRange< NumberS > &V, const CVectorRange< NumberS > &tau, const MatrixRange< NumberS > &T)
 Given a collection of scalar Householder reflectors [V,tau] from gelqf(), overwrites tril(T) to form the equivalent block reflector I-V'*T*V.
 
void myra::lqt_inplace (const CMatrixRange< NumberD > &V, const CVectorRange< NumberD > &tau, const MatrixRange< NumberD > &T)
 Given a collection of scalar Householder reflectors [V,tau] from gelqf(), overwrites tril(T) to form the equivalent block reflector I-V'*T*V.
 
void myra::lqt_inplace (const CMatrixRange< NumberC > &V, const CVectorRange< NumberC > &tau, const MatrixRange< NumberC > &T)
 Given a collection of scalar Householder reflectors [V,tau] from gelqf(), overwrites tril(T) to form the equivalent block reflector I-V'*T*V.
 
void myra::lqt_inplace (const CMatrixRange< NumberZ > &V, const CVectorRange< NumberZ > &tau, const MatrixRange< NumberZ > &T)
 Given a collection of scalar Householder reflectors [V,tau] from gelqf(), overwrites tril(T) to form the equivalent block reflector I-V'*T*V.
 
void myra::lqt_inplace (const MatrixRange< NumberS > &V, const CVectorRange< NumberS > &tau)
 Like lqt_inplace(V,tau,T), but overwrites tril(V). [Probably clobbering an L factor stored there].
 
void myra::lqt_inplace (const MatrixRange< NumberD > &V, const CVectorRange< NumberD > &tau)
 Like lqt_inplace(V,tau,T), but overwrites tril(V). [Probably clobbering an L factor stored there].
 
void myra::lqt_inplace (const MatrixRange< NumberC > &V, const CVectorRange< NumberC > &tau)
 Like lqt_inplace(V,tau,T), but overwrites tril(V). [Probably clobbering an L factor stored there].
 
void myra::lqt_inplace (const MatrixRange< NumberZ > &V, const CVectorRange< NumberZ > &tau)
 Like lqt_inplace(V,tau,T), but overwrites tril(V). [Probably clobbering an L factor stored there].
 
Matrix< NumberS > myra::lqt (const CMatrixRange< NumberS > &V, const CVectorRange< NumberS > &tau)
 Like lqt_inplace(), but returns T by value instead of overwriting it as an output argument.
 
Matrix< NumberD > myra::lqt (const CMatrixRange< NumberD > &V, const CVectorRange< NumberD > &tau)
 Like lqt_inplace(), but returns T by value instead of overwriting it as an output argument.
 
Matrix< NumberC > myra::lqt (const CMatrixRange< NumberC > &V, const CVectorRange< NumberC > &tau)
 Like lqt_inplace(), but returns T by value instead of overwriting it as an output argument.
 
Matrix< NumberZ > myra::lqt (const CMatrixRange< NumberZ > &V, const CVectorRange< NumberZ > &tau)
 Like lqt_inplace(), but returns T by value instead of overwriting it as an output argument.
 

Detailed Description

Given the scalar reflectors [V,tau] from gelqf(), forms the T of the equivalent block reflector I-V'*T*V Semantically equivalent to dlarft('F'orward,'R'owwise), but put into the lower triangle instead of upper.