![]() |
LAPACK 3.11.0
LAPACK: Linear Algebra PACKage
|
| subroutine sbdt04 | ( | character | uplo, |
| integer | n, | ||
| real, dimension( * ) | d, | ||
| real, dimension( * ) | e, | ||
| real, dimension( * ) | s, | ||
| integer | ns, | ||
| real, dimension( ldu, * ) | u, | ||
| integer | ldu, | ||
| real, dimension( ldvt, * ) | vt, | ||
| integer | ldvt, | ||
| real, dimension( * ) | work, | ||
| real | resid | ||
| ) |
SBDT04
SBDT04 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. | [in] | UPLO | UPLO is CHARACTER*1
Specifies whether the matrix B is upper or lower bidiagonal.
= 'U': Upper bidiagonal
= 'L': Lower bidiagonal |
| [in] | N | N is INTEGER
The order of the matrix B. |
| [in] | D | D is REAL array, dimension (N)
The n diagonal elements of the bidiagonal matrix B. |
| [in] | E | E is 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'. |
| [in] | S | S is REAL array, dimension (NS)
The singular values from the (partial) SVD of B, sorted in
decreasing order. |
| [in] | NS | NS is INTEGER
The number of singular values/vectors from the (partial)
SVD of B. |
| [in] | U | U is REAL array, dimension (LDU,NS)
The n by ns orthogonal matrix U in S = U' * B * V. |
| [in] | LDU | LDU is INTEGER
The leading dimension of the array U. LDU >= max(1,N) |
| [in] | VT | VT is REAL array, dimension (LDVT,N)
The n by ns orthogonal matrix V in S = U' * B * V. |
| [in] | LDVT | LDVT is INTEGER
The leading dimension of the array VT. |
| [out] | WORK | WORK is REAL array, dimension (2*N) |
| [out] | RESID | RESID is REAL
The test ratio: norm(S - U' * B * V) / ( n * norm(B) * EPS ) |