cbdt05.f3
Usage
Functions/Subroutines
subroutine cbdt05 (m, n, a, lda, s, ns, u, ldu, vt, ldvt, work, resid)
CBDT05
Function/Subroutine Documentation
subroutine cbdt05 (integer m, integer n, complex, dimension( lda, * ) a, integer lda, real, dimension( * ) s, integer ns, complex, dimension( * ) u, integer ldu, complex, dimension( ldvt, * ) vt, integer ldvt, complex, dimension( * ) work, real resid)
CBDT05
Purpose:
!> !> CBDT05 reconstructs a bidiagonal matrix B from its (partial) SVD: !> S = U' * B * V !> where U and V are orthogonal matrices and S is diagonal. !> !> The test ratio to test the singular value decomposition is !> RESID = norm( S - U' * B * V ) / ( n * norm(B) * EPS ) !> where VT = V' and EPS is the machine precision. !>
Parameters
M
!> M is INTEGER !> The number of rows of the matrices A and U. !>
N
!> N is INTEGER !> The number of columns of the matrices A and VT. !>
A
!> A is COMPLEX array, dimension (LDA,N) !> The m by n matrix A. !>
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,M). !>
S
!> S is REAL array, dimension (NS) !> The singular values from the (partial) SVD of B, sorted in !> decreasing order. !>
NS
!> NS is INTEGER !> The number of singular values/vectors from the (partial) !> SVD of B. !>
U
!> U is COMPLEX array, dimension (LDU,NS) !> The n by ns orthogonal matrix U in S = U' * B * V. !>
LDU
!> LDU is INTEGER !> The leading dimension of the array U. LDU >= max(1,N) !>
VT
!> VT is COMPLEX array, dimension (LDVT,N) !> The n by ns orthogonal matrix V in S = U' * B * V. !>
LDVT
!> LDVT is INTEGER !> The leading dimension of the array VT. !>
WORK
!> WORK is COMPLEX array, dimension (M,N) !>
RESID
!> RESID is REAL !> The test ratio: norm(S - U' * A * V) / ( n * norm(A) * EPS ) !>
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Definition at line 123 of file cbdt05.f.