slasd0(3)

NAME

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, SMLSIZ, 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 bidiagonal 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.
LDU (input) INTEGER
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
LAPACK version 3.0 15 June 2000
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout