.TH "lalsd" 3 "Wed Feb 7 2024 11:30:40" "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME lalsd \- lalsd: uses SVD for least squares, step in gelsd .SH SYNOPSIS .br .PP .SS "Functions" .in +1c .ti -1c .RI "subroutine \fBclalsd\fP (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, rwork, iwork, info)" .br .RI "\fBCLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. " .ti -1c .RI "subroutine \fBdlalsd\fP (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, iwork, info)" .br .RI "\fBDLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. " .ti -1c .RI "subroutine \fBslalsd\fP (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, iwork, info)" .br .RI "\fBSLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. " .ti -1c .RI "subroutine \fBzlalsd\fP (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank, work, rwork, iwork, info)" .br .RI "\fBZLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. " .in -1c .SH "Detailed Description" .PP .SH "Function Documentation" .PP .SS "subroutine clalsd (character uplo, integer smlsiz, integer n, integer nrhs, real, dimension( * ) d, real, dimension( * ) e, complex, dimension( ldb, * ) b, integer ldb, real rcond, integer rank, complex, dimension( * ) work, real, dimension( * ) rwork, integer, dimension( * ) iwork, integer info)" .PP \fBCLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. .PP \fBPurpose:\fP .RS 4 .PP .nf CLALSD uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS\&. The solution X overwrites B\&. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned\&. The actual singular values are returned in D in ascending order\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is CHARACTER*1 = 'U': D and E define an upper bidiagonal matrix\&. = 'L': D and E define a lower bidiagonal matrix\&. .fi .PP .br \fISMLSIZ\fP .PP .nf SMLSIZ is INTEGER The maximum size of the subproblems at the bottom of the computation tree\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The dimension of the bidiagonal matrix\&. N >= 0\&. .fi .PP .br \fINRHS\fP .PP .nf NRHS is INTEGER The number of columns of B\&. NRHS must be at least 1\&. .fi .PP .br \fID\fP .PP .nf D is REAL array, dimension (N) On entry D contains the main diagonal of the bidiagonal matrix\&. On exit, if INFO = 0, D contains its singular values\&. .fi .PP .br \fIE\fP .PP .nf E is REAL array, dimension (N-1) Contains the super-diagonal entries of the bidiagonal matrix\&. On exit, E has been destroyed\&. .fi .PP .br \fIB\fP .PP .nf B is COMPLEX array, dimension (LDB,NRHS) On input, B contains the right hand sides of the least squares problem\&. On output, B contains the solution X\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B in the calling subprogram\&. LDB must be at least max(1,N)\&. .fi .PP .br \fIRCOND\fP .PP .nf RCOND is REAL The singular values of A less than or equal to RCOND times the largest singular value are treated as zero in solving the least squares problem\&. If RCOND is negative, machine precision is used instead\&. For example, if diag(S)*X=B were the least squares problem, where diag(S) is a diagonal matrix of singular values, the solution would be X(i) = B(i) / S(i) if S(i) is greater than RCOND*max(S), and X(i) = 0 if S(i) is less than or equal to RCOND*max(S)\&. .fi .PP .br \fIRANK\fP .PP .nf RANK is INTEGER The number of singular values of A greater than RCOND times the largest singular value\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX array, dimension (N * NRHS)\&. .fi .PP .br \fIRWORK\fP .PP .nf RWORK is REAL array, dimension at least (9*N + 2*N*SMLSIZ + 8*N*NLVL + 3*SMLSIZ*NRHS + MAX( (SMLSIZ+1)**2, N*(1+NRHS) + 2*NRHS ), where NLVL = MAX( 0, INT( LOG_2( MIN( M,N )/(SMLSIZ+1) ) ) + 1 ) .fi .PP .br \fIIWORK\fP .PP .nf IWORK is INTEGER array, dimension (3*N*NLVL + 11*N)\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit\&. < 0: if INFO = -i, the i-th argument had an illegal value\&. > 0: The algorithm failed to compute a singular value while working on the submatrix lying in rows and columns INFO/(N+1) through MOD(INFO,N+1)\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBContributors:\fP .RS 4 Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA .br Osni Marques, LBNL/NERSC, USA .br .RE .PP .SS "subroutine dlalsd (character uplo, integer smlsiz, integer n, integer nrhs, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldb, * ) b, integer ldb, double precision rcond, integer rank, double precision, dimension( * ) work, integer, dimension( * ) iwork, integer info)" .PP \fBDLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. .PP \fBPurpose:\fP .RS 4 .PP .nf DLALSD uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS\&. The solution X overwrites B\&. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned\&. The actual singular values are returned in D in ascending order\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is CHARACTER*1 = 'U': D and E define an upper bidiagonal matrix\&. = 'L': D and E define a lower bidiagonal matrix\&. .fi .PP .br \fISMLSIZ\fP .PP .nf SMLSIZ is INTEGER The maximum size of the subproblems at the bottom of the computation tree\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The dimension of the bidiagonal matrix\&. N >= 0\&. .fi .PP .br \fINRHS\fP .PP .nf NRHS is INTEGER The number of columns of B\&. NRHS must be at least 1\&. .fi .PP .br \fID\fP .PP .nf D is DOUBLE PRECISION array, dimension (N) On entry D contains the main diagonal of the bidiagonal matrix\&. On exit, if INFO = 0, D contains its singular values\&. .fi .PP .br \fIE\fP .PP .nf E is DOUBLE PRECISION array, dimension (N-1) Contains the super-diagonal entries of the bidiagonal matrix\&. On exit, E has been destroyed\&. .fi .PP .br \fIB\fP .PP .nf B is DOUBLE PRECISION array, dimension (LDB,NRHS) On input, B contains the right hand sides of the least squares problem\&. On output, B contains the solution X\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B in the calling subprogram\&. LDB must be at least max(1,N)\&. .fi .PP .br \fIRCOND\fP .PP .nf RCOND is DOUBLE PRECISION The singular values of A less than or equal to RCOND times the largest singular value are treated as zero in solving the least squares problem\&. If RCOND is negative, machine precision is used instead\&. For example, if diag(S)*X=B were the least squares problem, where diag(S) is a diagonal matrix of singular values, the solution would be X(i) = B(i) / S(i) if S(i) is greater than RCOND*max(S), and X(i) = 0 if S(i) is less than or equal to RCOND*max(S)\&. .fi .PP .br \fIRANK\fP .PP .nf RANK is INTEGER The number of singular values of A greater than RCOND times the largest singular value\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is DOUBLE PRECISION array, dimension at least (9*N + 2*N*SMLSIZ + 8*N*NLVL + N*NRHS + (SMLSIZ+1)**2), where NLVL = max(0, INT(log_2 (N/(SMLSIZ+1))) + 1)\&. .fi .PP .br \fIIWORK\fP .PP .nf IWORK is INTEGER array, dimension at least (3*N*NLVL + 11*N) .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit\&. < 0: if INFO = -i, the i-th argument had an illegal value\&. > 0: The algorithm failed to compute a singular value while working on the submatrix lying in rows and columns INFO/(N+1) through MOD(INFO,N+1)\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBContributors:\fP .RS 4 Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA .br Osni Marques, LBNL/NERSC, USA .br .RE .PP .SS "subroutine slalsd (character uplo, integer smlsiz, integer n, integer nrhs, real, dimension( * ) d, real, dimension( * ) e, real, dimension( ldb, * ) b, integer ldb, real rcond, integer rank, real, dimension( * ) work, integer, dimension( * ) iwork, integer info)" .PP \fBSLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. .PP \fBPurpose:\fP .RS 4 .PP .nf SLALSD uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS\&. The solution X overwrites B\&. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned\&. The actual singular values are returned in D in ascending order\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is CHARACTER*1 = 'U': D and E define an upper bidiagonal matrix\&. = 'L': D and E define a lower bidiagonal matrix\&. .fi .PP .br \fISMLSIZ\fP .PP .nf SMLSIZ is INTEGER The maximum size of the subproblems at the bottom of the computation tree\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The dimension of the bidiagonal matrix\&. N >= 0\&. .fi .PP .br \fINRHS\fP .PP .nf NRHS is INTEGER The number of columns of B\&. NRHS must be at least 1\&. .fi .PP .br \fID\fP .PP .nf D is REAL array, dimension (N) On entry D contains the main diagonal of the bidiagonal matrix\&. On exit, if INFO = 0, D contains its singular values\&. .fi .PP .br \fIE\fP .PP .nf E is REAL array, dimension (N-1) Contains the super-diagonal entries of the bidiagonal matrix\&. On exit, E has been destroyed\&. .fi .PP .br \fIB\fP .PP .nf B is REAL array, dimension (LDB,NRHS) On input, B contains the right hand sides of the least squares problem\&. On output, B contains the solution X\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B in the calling subprogram\&. LDB must be at least max(1,N)\&. .fi .PP .br \fIRCOND\fP .PP .nf RCOND is REAL The singular values of A less than or equal to RCOND times the largest singular value are treated as zero in solving the least squares problem\&. If RCOND is negative, machine precision is used instead\&. For example, if diag(S)*X=B were the least squares problem, where diag(S) is a diagonal matrix of singular values, the solution would be X(i) = B(i) / S(i) if S(i) is greater than RCOND*max(S), and X(i) = 0 if S(i) is less than or equal to RCOND*max(S)\&. .fi .PP .br \fIRANK\fP .PP .nf RANK is INTEGER The number of singular values of A greater than RCOND times the largest singular value\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is REAL array, dimension at least (9*N + 2*N*SMLSIZ + 8*N*NLVL + N*NRHS + (SMLSIZ+1)**2), where NLVL = max(0, INT(log_2 (N/(SMLSIZ+1))) + 1)\&. .fi .PP .br \fIIWORK\fP .PP .nf IWORK is INTEGER array, dimension at least (3*N*NLVL + 11*N) .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit\&. < 0: if INFO = -i, the i-th argument had an illegal value\&. > 0: The algorithm failed to compute a singular value while working on the submatrix lying in rows and columns INFO/(N+1) through MOD(INFO,N+1)\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBContributors:\fP .RS 4 Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA .br Osni Marques, LBNL/NERSC, USA .br .RE .PP .SS "subroutine zlalsd (character uplo, integer smlsiz, integer n, integer nrhs, double precision, dimension( * ) d, double precision, dimension( * ) e, complex*16, dimension( ldb, * ) b, integer ldb, double precision rcond, integer rank, complex*16, dimension( * ) work, double precision, dimension( * ) rwork, integer, dimension( * ) iwork, integer info)" .PP \fBZLALSD\fP uses the singular value decomposition of A to solve the least squares problem\&. .PP \fBPurpose:\fP .RS 4 .PP .nf ZLALSD uses the singular value decomposition of A to solve the least squares problem of finding X to minimize the Euclidean norm of each column of A*X-B, where A is N-by-N upper bidiagonal, and X and B are N-by-NRHS\&. The solution X overwrites B\&. The singular values of A smaller than RCOND times the largest singular value are treated as zero in solving the least squares problem; in this case a minimum norm solution is returned\&. The actual singular values are returned in D in ascending order\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fIUPLO\fP .PP .nf UPLO is CHARACTER*1 = 'U': D and E define an upper bidiagonal matrix\&. = 'L': D and E define a lower bidiagonal matrix\&. .fi .PP .br \fISMLSIZ\fP .PP .nf SMLSIZ is INTEGER The maximum size of the subproblems at the bottom of the computation tree\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The dimension of the bidiagonal matrix\&. N >= 0\&. .fi .PP .br \fINRHS\fP .PP .nf NRHS is INTEGER The number of columns of B\&. NRHS must be at least 1\&. .fi .PP .br \fID\fP .PP .nf D is DOUBLE PRECISION array, dimension (N) On entry D contains the main diagonal of the bidiagonal matrix\&. On exit, if INFO = 0, D contains its singular values\&. .fi .PP .br \fIE\fP .PP .nf E is DOUBLE PRECISION array, dimension (N-1) Contains the super-diagonal entries of the bidiagonal matrix\&. On exit, E has been destroyed\&. .fi .PP .br \fIB\fP .PP .nf B is COMPLEX*16 array, dimension (LDB,NRHS) On input, B contains the right hand sides of the least squares problem\&. On output, B contains the solution X\&. .fi .PP .br \fILDB\fP .PP .nf LDB is INTEGER The leading dimension of B in the calling subprogram\&. LDB must be at least max(1,N)\&. .fi .PP .br \fIRCOND\fP .PP .nf RCOND is DOUBLE PRECISION The singular values of A less than or equal to RCOND times the largest singular value are treated as zero in solving the least squares problem\&. If RCOND is negative, machine precision is used instead\&. For example, if diag(S)*X=B were the least squares problem, where diag(S) is a diagonal matrix of singular values, the solution would be X(i) = B(i) / S(i) if S(i) is greater than RCOND*max(S), and X(i) = 0 if S(i) is less than or equal to RCOND*max(S)\&. .fi .PP .br \fIRANK\fP .PP .nf RANK is INTEGER The number of singular values of A greater than RCOND times the largest singular value\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is COMPLEX*16 array, dimension (N * NRHS) .fi .PP .br \fIRWORK\fP .PP .nf RWORK is DOUBLE PRECISION array, dimension at least (9*N + 2*N*SMLSIZ + 8*N*NLVL + 3*SMLSIZ*NRHS + MAX( (SMLSIZ+1)**2, N*(1+NRHS) + 2*NRHS ), where NLVL = MAX( 0, INT( LOG_2( MIN( M,N )/(SMLSIZ+1) ) ) + 1 ) .fi .PP .br \fIIWORK\fP .PP .nf IWORK is INTEGER array, dimension at least (3*N*NLVL + 11*N)\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit\&. < 0: if INFO = -i, the i-th argument had an illegal value\&. > 0: The algorithm failed to compute a singular value while working on the submatrix lying in rows and columns INFO/(N+1) through MOD(INFO,N+1)\&. .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP \fBContributors:\fP .RS 4 Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA .br Osni Marques, LBNL/NERSC, USA .br .RE .PP .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.