CBDT03

   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
   November 2006

Purpose

CBDT03 reconstructs a bidiagonal matrix B from its 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( B - U * S * VT ) / ( n * norm(B) * EPS )
where VT = V' and EPS is the machine precision.

Arguments

UPLO
(input) CHARACTER*1
Specifies whether the matrix B is upper or lower bidiagonal.
= 'U':  Upper bidiagonal
= 'L':  Lower bidiagonal
N
(input) INTEGER
The order of the matrix B.
KD
(input) INTEGER
The bandwidth of the bidiagonal matrix B.  If KD = 1, the
matrix B is bidiagonal, and if KD = 0, B is diagonal and E is
not referenced.  If KD is greater than 1, it is assumed to be
1, and if KD is less than 0, it is assumed to be 0.
D
(input) REAL array, dimension (N)
The n diagonal elements of the bidiagonal matrix B.
E
(input) REAL array, dimension (N-1)
The (n-1) superdiagonal elements of the bidiagonal matrix B
if UPLO = 'U', or the (n-1) subdiagonal elements of B if
UPLO = 'L'.
U
(input) COMPLEX array, dimension (LDU,N)
The n by n orthogonal matrix U in the reduction B = U'*A*P.
LDU
(input) INTEGER
The leading dimension of the array U.  LDU >= max(1,N)
S
(input) REAL array, dimension (N)
The singular values from the SVD of B, sorted in decreasing
order.
VT
(input) COMPLEX array, dimension (LDVT,N)
The n by n orthogonal matrix V' in the reduction
B = U * S * V'.
LDVT
(input) INTEGER
The leading dimension of the array VT.
WORK
(workspace) COMPLEX array, dimension (2*N)
RESID
(output) REAL
The test ratio:  norm(B - U * S * V') / ( n * norm(A) * EPS )

Call Graph

Caller Graph