MyraMath
Classes
qrt.h File Reference

Given the scalar reflectors [V,tau] from geqrf(), forms the T of the equivalent block reflector I-V*T*V' Semantically equivalent to dlarft('F'orward,'C'olumnwise) More...

#include <myramath/MYRAMATH_EXPORT.h>
#include <myramath/utility/Number.h>
#include <myramath/dense/Matrix.h>
Include dependency graph for qrt.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::qrt_inplace (const CMatrixRange< NumberS > &V, const CVectorRange< NumberS > &tau, const MatrixRange< NumberS > &T)
 Given a collection of scalar Householder reflectors [V,tau] from geqrf(), overwrites triu(T) to form the equivalent block reflector I-V*T*V'.
 
void myra::qrt_inplace (const CMatrixRange< NumberD > &V, const CVectorRange< NumberD > &tau, const MatrixRange< NumberD > &T)
 Given a collection of scalar Householder reflectors [V,tau] from geqrf(), overwrites triu(T) to form the equivalent block reflector I-V*T*V'.
 
void myra::qrt_inplace (const CMatrixRange< NumberC > &V, const CVectorRange< NumberC > &tau, const MatrixRange< NumberC > &T)
 Given a collection of scalar Householder reflectors [V,tau] from geqrf(), overwrites triu(T) to form the equivalent block reflector I-V*T*V'.
 
void myra::qrt_inplace (const CMatrixRange< NumberZ > &V, const CVectorRange< NumberZ > &tau, const MatrixRange< NumberZ > &T)
 Given a collection of scalar Householder reflectors [V,tau] from geqrf(), overwrites triu(T) to form the equivalent block reflector I-V*T*V'.
 
void myra::qrt_inplace (const MatrixRange< NumberS > &V, const CVectorRange< NumberS > &tau)
 Like qrt_inplace(V,tau,T), but overwrites triu(V). [Probably clobbering an R factor stored there].
 
void myra::qrt_inplace (const MatrixRange< NumberD > &V, const CVectorRange< NumberD > &tau)
 Like qrt_inplace(V,tau,T), but overwrites triu(V). [Probably clobbering an R factor stored there].
 
void myra::qrt_inplace (const MatrixRange< NumberC > &V, const CVectorRange< NumberC > &tau)
 Like qrt_inplace(V,tau,T), but overwrites triu(V). [Probably clobbering an R factor stored there].
 
void myra::qrt_inplace (const MatrixRange< NumberZ > &V, const CVectorRange< NumberZ > &tau)
 Like qrt_inplace(V,tau,T), but overwrites triu(V). [Probably clobbering an R factor stored there].
 
Matrix< NumberS > myra::qrt (const CMatrixRange< NumberS > &V, const CVectorRange< NumberS > &tau)
 Like qrt_inplace(), but returns T by value instead of overwriting it as an output argument.
 
Matrix< NumberD > myra::qrt (const CMatrixRange< NumberD > &V, const CVectorRange< NumberD > &tau)
 Like qrt_inplace(), but returns T by value instead of overwriting it as an output argument.
 
Matrix< NumberC > myra::qrt (const CMatrixRange< NumberC > &V, const CVectorRange< NumberC > &tau)
 Like qrt_inplace(), but returns T by value instead of overwriting it as an output argument.
 
Matrix< NumberZ > myra::qrt (const CMatrixRange< NumberZ > &V, const CVectorRange< NumberZ > &tau)
 Like qrt_inplace(), but returns T by value instead of overwriting it as an output argument.
 

Detailed Description

Given the scalar reflectors [V,tau] from geqrf(), forms the T of the equivalent block reflector I-V*T*V' Semantically equivalent to dlarft('F'orward,'C'olumnwise)