JIXIE::GivensRotation< T > Class Template Reference Detailed Descriptiontemplate<class T>
|
Public Member Functions | |
GivensRotation (int rowi_in, int rowk_in) | |
GivensRotation (T a, T b, int rowi_in, int rowk_in) | |
void | transposeInPlace () |
void | compute (const T a, const T b) |
void | computeUnconventional (const T a, const T b) |
template<class MatrixType > | |
void | fill (const MatrixType &R) const |
template<class MatrixType > | |
void | rowRotation (MatrixType &A) const |
template<class MatrixType > | |
void | columnRotation (MatrixType &A) const |
void | operator*= (const GivensRotation< T > &A) |
GivensRotation< T > | operator* (const GivensRotation< T > &A) const |
Data Fields | |
int | rowi |
int | rowk |
T | c |
T | s |
Member Function Documentation
◆ compute()
|
inline |
Compute c and s from a and b so that ( c -s ) ( a ) = ( * ) s c b ( 0 )
Definition at line 136 of file ImplicitQRSVD.h.
Referenced by JIXIE::singularValueDecomposition(), and JIXIE::zeroChase().
◆ computeUnconventional()
|
inline |
This function computes c and s so that ( c -s ) ( a ) = ( 0 ) s c b ( * )
Definition at line 156 of file ImplicitQRSVD.h.
Referenced by JIXIE::makeLambdaShape(), and JIXIE::singularValueDecomposition().
◆ fill()
|
inline |
Fill the R with the entries of this rotation
Definition at line 174 of file ImplicitQRSVD.h.
Referenced by JIXIE::polarDecomposition(), and JIXIE::singularValueDecomposition().
◆ rowRotation()
|
inline |
This function does something like c -s 0 ( s c 0 ) A -> A 0 0 1 It only affects row i and row k of A.
Definition at line 192 of file ImplicitQRSVD.h.
Referenced by JIXIE::makeLambdaShape(), JIXIE::makeUpperBidiag(), JIXIE::polarDecomposition(), JIXIE::singularValueDecomposition(), and JIXIE::zeroChase().
◆ columnRotation()
|
inline |
This function does something like c s 0 A ( -s c 0 ) -> A 0 0 1 It only affects column i and column k of A.
Definition at line 210 of file ImplicitQRSVD.h.
Referenced by JIXIE::makeLambdaShape(), JIXIE::makeUpperBidiag(), JIXIE::process(), JIXIE::singularValueDecomposition(), and JIXIE::zeroChase().
◆ operator*=()
|
inline |
Multiply givens must be for same row and column
Definition at line 223 of file ImplicitQRSVD.h.
◆ operator*()
|
inline |
Multiply givens must be for same row and column
Definition at line 234 of file ImplicitQRSVD.h.
Follow us!