ZGELSS(3F) ZGELSS(3F)
ZGELSS - compute the minimum norm solution to a complex linear least
squares problem
SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, WORK,
LWORK, RWORK, INFO )
INTEGER INFO, LDA, LDB, LWORK, M, N, NRHS, RANK
DOUBLE PRECISION RCOND
DOUBLE PRECISION RWORK( * ), S( * )
COMPLEX*16 A( LDA, * ), B( LDB, * ), WORK( * )
ZGELSS computes the minimum norm solution to a complex linear least
squares problem:
Minimize 2-norm(| b - A*x |).
using the singular value decomposition (SVD) of A. A is an M-by-N matrix
which may be rank-deficient.
Several right hand side vectors b and solution vectors x can be handled
in a single call; they are stored as the columns of the M-by-NRHS right
hand side matrix B and the N-by-NRHS solution matrix X.
The effective rank of A is determined by treating as zero those singular
values which are less than RCOND times the largest singular value.
M (input) INTEGER
The number of rows of the matrix A. M >= 0.
N (input) INTEGER
The number of columns of the matrix A. N >= 0.
NRHS (input) INTEGER
The number of right hand sides, i.e., the number of columns of
the matrices B and X. NRHS >= 0.
A (input/output) COMPLEX*16 array, dimension (LDA,N)
On entry, the M-by-N matrix A. On exit, the first min(m,n) rows
of A are overwritten with its right singular vectors, stored
rowwise.
LDA (input) INTEGER
The leading dimension of the array A. LDA >= max(1,M).
Page 1
ZGELSS(3F) ZGELSS(3F)
B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
On entry, the M-by-NRHS right hand side matrix B. On exit, B is
overwritten by the N-by-NRHS solution matrix X. If m >= n and
RANK = n, the residual sum-of-squares for the solution in the ith
column is given by the sum of squares of elements n+1:m in
that column.
LDB (input) INTEGER
The leading dimension of the array B. LDB >= max(1,M,N).
S (output) DOUBLE PRECISION array, dimension (min(M,N))
The singular values of A in decreasing order. The condition
number of A in the 2-norm = S(1)/S(min(m,n)).
RCOND (input) DOUBLE PRECISION
RCOND is used to determine the effective rank of A. Singular
values S(i) <= RCOND*S(1) are treated as zero. If RCOND < 0,
machine precision is used instead.
RANK (output) INTEGER
The effective rank of A, i.e., the number of singular values
which are greater than RCOND*S(1).
WORK (workspace/output) COMPLEX*16 array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK (input) INTEGER
The dimension of the array WORK. LWORK >= 1, and also: LWORK >=
2*min(M,N) + max(M,N,NRHS) For good performance, LWORK should
generally be larger.
RWORK (workspace) DOUBLE PRECISION array, dimension (5*min(M,N)-1)
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value.
> 0: the algorithm for computing the SVD failed to converge; if
INFO = i, i off-diagonal elements of an intermediate bidiagonal
form did not converge to zero.
ZGELSS(3F) ZGELSS(3F)
ZGELSS - compute the minimum norm solution to a complex linear least
squares problem
SUBROUTINE ZGELSS( M, N, NRHS, A, LDA, B, LDB, S, RCOND, RANK, WORK,
LWORK, RWORK, INFO )
INTEGER INFO, LDA, LDB, LWORK, M, N, NRHS, RANK
DOUBLE PRECISION RCOND
DOUBLE PRECISION RWORK( * ), S( * )
COMPLEX*16 A( LDA, * ), B( LDB, * ), WORK( * )
ZGELSS computes the minimum norm solution to a complex linear least
squares problem:
Minimize 2-norm(| b - A*x |).
using the singular value decomposition (SVD) of A. A is an M-by-N matrix
which may be rank-deficient.
Several right hand side vectors b and solution vectors x can be handled
in a single call; they are stored as the columns of the M-by-NRHS right
hand side matrix B and the N-by-NRHS solution matrix X.
The effective rank of A is determined by treating as zero those singular
values which are less than RCOND times the largest singular value.
M (input) INTEGER
The number of rows of the matrix A. M >= 0.
N (input) INTEGER
The number of columns of the matrix A. N >= 0.
NRHS (input) INTEGER
The number of right hand sides, i.e., the number of columns of
the matrices B and X. NRHS >= 0.
A (input/output) COMPLEX*16 array, dimension (LDA,N)
On entry, the M-by-N matrix A. On exit, the first min(m,n) rows
of A are overwritten with its right singular vectors, stored
rowwise.
LDA (input) INTEGER
The leading dimension of the array A. LDA >= max(1,M).
Page 1
ZGELSS(3F) ZGELSS(3F)
B (input/output) COMPLEX*16 array, dimension (LDB,NRHS)
On entry, the M-by-NRHS right hand side matrix B. On exit, B is
overwritten by the N-by-NRHS solution matrix X. If m >= n and
RANK = n, the residual sum-of-squares for the solution in the ith
column is given by the sum of squares of elements n+1:m in
that column.
LDB (input) INTEGER
The leading dimension of the array B. LDB >= max(1,M,N).
S (output) DOUBLE PRECISION array, dimension (min(M,N))
The singular values of A in decreasing order. The condition
number of A in the 2-norm = S(1)/S(min(m,n)).
RCOND (input) DOUBLE PRECISION
RCOND is used to determine the effective rank of A. Singular
values S(i) <= RCOND*S(1) are treated as zero. If RCOND < 0,
machine precision is used instead.
RANK (output) INTEGER
The effective rank of A, i.e., the number of singular values
which are greater than RCOND*S(1).
WORK (workspace/output) COMPLEX*16 array, dimension (LWORK)
On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
LWORK (input) INTEGER
The dimension of the array WORK. LWORK >= 1, and also: LWORK >=
2*min(M,N) + max(M,N,NRHS) For good performance, LWORK should
generally be larger.
RWORK (workspace) DOUBLE PRECISION array, dimension (5*min(M,N)-1)
INFO (output) INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value.
> 0: the algorithm for computing the SVD failed to converge; if
INFO = i, i off-diagonal elements of an intermediate bidiagonal
form did not converge to zero.
PPPPaaaaggggeeee 2222 [ Back ]
|