bidiagonalisation Struct Template Reference

Decomposition U^T A V = B where B is bibidiagonal and U,V orthogonal. More...

#include <householder.h>

List of all members.

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


Detailed Description

template<typename FloatType>
struct scitbx::matrix::householder::bidiagonalisation< FloatType >

Decomposition U^T A V = B where B is bibidiagonal and U,V orthogonal.

B is upper diagonal if m >= n and lower diagonal if m < n. Reference: Golub and Van Loan, Algorithm 5.4.2


Constructor & Destructor Documentation

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


The documentation for this struct was generated from the following file:

Generated on Tue Sep 1 17:12:36 2009 for cctbx by  doxygen 1.5.6