SBDT03
   Univ. of Tennessee, Univ. of California Berkeley and NAG Ltd..
November 2006
November 2006
Purpose
SBDT03 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.
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) REAL 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) REAL 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) REAL array, dimension (2*N)
 
 | 
| RESID | 
 
(output) REAL
 
The test ratio:  norm(B - U * S * V') / ( n * norm(A) * EPS ) 
 |