A general matrix @math{A} can be factorized by similarity transformations into the form,

where @math{U} and @math{V} are orthogonal matrices and @math{B} is a
@math{N}-by-@math{N} bidiagonal matrix with non-zero entries only on the
diagonal and superdiagonal. The size of `U` is @math{M}-by-@math{N}
and the size of `V` is @math{N}-by-@math{N}.

__Function:__int**gsl_linalg_bidiag_decomp***(gsl_matrix **`A`, gsl_vector *`tau_U`, gsl_vector *`tau_V`)-
This function factorizes the @math{M}-by-@math{N} matrix
`A`into bidiagonal form @math{U B V^T}. The diagonal and superdiagonal of the matrix @math{B} are stored in the diagonal and superdiagonal of`A`. The orthogonal matrices @math{U} and`V`are stored as compressed Householder vectors in the remaining elements of`A`. The Householder coefficients are stored in the vectors`tau_U`and`tau_V`. The length of`tau_U`must equal the number of elements in the diagonal of`A`and the length of`tau_V`should be one element shorter.

__Function:__int**gsl_linalg_bidiag_unpack***(const gsl_matrix **`A`, const gsl_vector *`tau_U`, gsl_matrix *`U`, const gsl_vector *`tau_V`, gsl_matrix *`V`, gsl_vector *`diag`, gsl_vector *`superdiag`)-
This function unpacks the bidiagonal decomposition of
`A`given by`gsl_linalg_bidiag_decomp`

, (`A`,`tau_U`,`tau_V`) into the separate orthogonal matrices`U`,`V`and the diagonal vector`diag`and superdiagonal`superdiag`.

__Function:__int**gsl_linalg_bidiag_unpack2***(gsl_matrix **`A`, gsl_vector *`tau_U`, gsl_vector *`tau_V`, gsl_matrix *`V`)-
This function unpacks the bidiagonal decomposition of
`A`given by`gsl_linalg_bidiag_decomp`

, (`A`,`tau_U`,`tau_V`) into the separate orthogonal matrices`U`,`V`and the diagonal vector`diag`and superdiagonal`superdiag`. The matrix`U`is stored in-place in`A`.

__Function:__int**gsl_linalg_bidiag_unpack_B***(const gsl_matrix **`A`, gsl_vector *`diag`, gsl_vector *`superdiag`)-
This function unpacks the diagonal and superdiagonal of the bidiagonal
decomposition of
`A`given by`gsl_linalg_bidiag_decomp`

, into the diagonal vector`diag`and superdiagonal vector`superdiag`.

Go to the first, previous, next, last section, table of contents.