#include <householder.h>
Public Types | |
| typedef FloatType | scalar_t |
| typedef af::c_grid< 2 > | dim |
| typedef af::versa< scalar_t, dim > | matrix_t |
|
typedef af::ref< scalar_t, af::mat_grid > | matrix_ref_t |
Public Member Functions | |
| bidiagonalisation (matrix_ref_t const &a_) | |
| Overwrite a in-place with its bidiagonalisation. | |
| matrix_t | u (bool thin=true) |
The matrix U, either full or thin (c.f. class qr_decomposition). | |
| matrix_t | v (bool thin=true) |
The matrix V, either full or thin (c.f. class lq_decomposition). | |
Public Attributes | |
| matrix_ref_t | a |
| reflection< FloatType > | p |
| std::vector< scalar_t > | beta_left |
| std::vector< scalar_t > | beta_right |
B is upper diagonal if m >= n and lower diagonal if m < n. Reference: Golub and Van Loan, Algorithm 5.4.2
| bidiagonalisation | ( | matrix_ref_t const & | a_ | ) | [inline] |
Overwrite a in-place with its bidiagonalisation.
The bidiagonal is that of B whereas the rest of a stores the essential part of the Householder vectors making U and V
1.5.6