|
Blender V4.3
|
#include <btImplicitQRSVD.h>
Public Member Functions | |
| GivensRotation (int rowi_in, int rowk_in) | |
| GivensRotation (btScalar a, btScalar b, int rowi_in, int rowk_in) | |
| ~GivensRotation () | |
| void | transposeInPlace () |
| void | compute (const btScalar a, const btScalar b) |
| void | computeUnconventional (const btScalar a, const btScalar b) |
| void | fill (const btMatrix3x3 &R) const |
| void | fill (const btMatrix2x2 &R) const |
| void | rowRotation (btMatrix3x3 &A) const |
| void | rowRotation (btMatrix2x2 &A) const |
| void | columnRotation (btMatrix3x3 &A) const |
| void | columnRotation (btMatrix2x2 &A) const |
| void | operator*= (const GivensRotation &A) |
| GivensRotation | operator* (const GivensRotation &A) const |
Public Attributes | |
| int | rowi |
| int | rowk |
| btScalar | c |
| btScalar | s |
Class for givens rotation. Row rotation G*A corresponds to something like c -s 0 ( s c 0 ) A 0 0 1 Column rotation A G' corresponds to something like c -s 0 A ( s c 0 ) 0 0 1
c and s are always computed so that ( c -s ) ( a ) = ( * ) s c b ( 0 )
Assume rowi<rowk.
Definition at line 114 of file btImplicitQRSVD.h.
Definition at line 121 of file btImplicitQRSVD.h.
Definition at line 129 of file btImplicitQRSVD.h.
|
inline |
Definition at line 136 of file btImplicitQRSVD.h.
|
inline |
|
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 235 of file btImplicitQRSVD.h.
Referenced by makeLambdaShape(), makeUpperBidiag(), process(), singularValueDecomposition(), and zeroChase().
Compute c and s from a and b so that ( c -s ) ( a ) = ( * ) s c b ( 0 )
Definition at line 148 of file btImplicitQRSVD.h.
References b, btSqrt(), c, and SIMD_EPSILON.
Referenced by GivensRotation(), singularValueDecomposition(), and zeroChase().
This function computes c and s so that ( c -s ) ( a ) = ( 0 ) s c b ( * )
Definition at line 169 of file btImplicitQRSVD.h.
References b, btSqrt(), c, and SIMD_EPSILON.
Referenced by makeLambdaShape(), and singularValueDecomposition().
|
inline |
|
inline |
Fill the R with the entries of this rotation
Definition at line 183 of file btImplicitQRSVD.h.
References btMatrix3x3, c, R, rowi, rowk, and s.
Referenced by polarDecomposition(), and singularValueDecomposition().
|
inline |
Multiply givens must be for same row and column
Definition at line 268 of file btImplicitQRSVD.h.
References A.
|
inline |
Multiply givens must be for same row and column
Definition at line 257 of file btImplicitQRSVD.h.
References c.
|
inline |
|
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 209 of file btImplicitQRSVD.h.
Referenced by makeLambdaShape(), makeUpperBidiag(), singularValueDecomposition(), and zeroChase().
|
inline |
Definition at line 138 of file btImplicitQRSVD.h.
References s.
| btScalar GivensRotation::c |
Definition at line 118 of file btImplicitQRSVD.h.
Referenced by columnRotation(), columnRotation(), compute(), computeUnconventional(), fill(), fill(), operator*=(), rowRotation(), and rowRotation().
| int GivensRotation::rowi |
Definition at line 116 of file btImplicitQRSVD.h.
Referenced by columnRotation(), columnRotation(), fill(), fill(), process(), rowRotation(), and rowRotation().
| int GivensRotation::rowk |
Definition at line 117 of file btImplicitQRSVD.h.
Referenced by columnRotation(), columnRotation(), fill(), fill(), process(), rowRotation(), and rowRotation().
| btScalar GivensRotation::s |
Definition at line 119 of file btImplicitQRSVD.h.
Referenced by fill(), fill(), and transposeInPlace().