SLASD0 - a divide and conquer approach, SLASD0 computes
the singular value decomposition (SVD) of a real upper
bidiagonal N-by-M matrix B with diagonal D and offdiagonal
E, where M = N + SQRE
SYNOPSIS
SUBROUTINE SLASD0( N, SQRE, D, E, U, LDU, VT, LDVT, SML
SIZ, IWORK, WORK, INFO )
INTEGER INFO, LDU, LDVT, N, SMLSIZ, SQRE
INTEGER IWORK( * )
REAL D( * ), E( * ), U( LDU, * ), VT( LDVT,
* ), WORK( * )
PURPOSE
Using a divide and conquer approach, SLASD0 computes the
singular value decomposition (SVD) of a real upper bidiag
onal N-by-M matrix B with diagonal D and offdiagonal E,
where M = N + SQRE. The algorithm computes orthogonal
matrices U and VT such that B = U * S * VT. The singular
values S are overwritten on D.
A related subroutine, SLASDA, computes only the singular
values, and optionally, the singular vectors in compact
form.
ARGUMENTS
N (input) INTEGER
On entry, the row dimension of the upper bidiagonal
matrix. This is also the dimension of the main
diagonal array D.
SQRE (input) INTEGER
Specifies the column dimension of the bidiagonal
matrix. = 0: The bidiagonal matrix has column
dimension M = N;
= 1: The bidiagonal matrix has column dimension M =
N+1;
D (input/output) REAL array, dimension (N)
On entry D contains the main diagonal of the bidi
agonal matrix. On exit D, if INFO = 0, contains
its singular values.
E (input) REAL array, dimension (M-1)
Contains the subdiagonal entries of the bidiagonal
matrix. On exit, E has been destroyed.
U (output) REAL array, dimension at least (LDQ, N)
On exit, U contains the left singular vectors.
On entry, leading dimension of U.
VT (output) REAL array, dimension at least (LDVT, M)
On exit, VT' contains the right singular vectors.
LDVT (input) INTEGER
On entry, leading dimension of VT.
SMLSIZ (input) INTEGER On entry, maximum size of
the subproblems at the bottom of the computation
tree.
IWORK INTEGER work array.
Dimension must be at least (8 * N)
WORK REAL work array.
Dimension must be at least (3 * M**2 + 2 * M)
INFO (output) INTEGER
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an ille
gal value.
> 0: if INFO = 1, an singular value did not con
verge
FURTHER DETAILS
Based on contributions by
Ming Gu and Huan Ren, Computer Science Division, Uni
versity of
California at Berkeley, USA
Man(1) output converted with
man2html