lals0(3)
π NAME π
lals0(3) β lals0: back multiplying factors, step in gelsd π
β¨ SYNOPSIS β¨
okay bestie, here are the four subroutines that live on this page π theyβre all basically the same vibe but with different precision/type energy.
π Functions π
clals0β CLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used bysgelsd.
subroutine clals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm,
givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c,
s, rwork, info)
dlals0β DLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used bysgelsd.
subroutine dlals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm,
givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c,
s, work, info)
slals0β SLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used bysgelsd.
subroutine slals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm,
givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c,
s, work, info)
zlals0β ZLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used bysgelsd.
subroutine zlals0 (icompq, nl, nr, sqre, nrhs, b, ldb, bx, ldbx, perm,
givptr, givcol, ldgcol, givnum, ldgnum, poles, difl, difr, z, k, c,
s, rwork, info)
πΈ Detailed Description πΈ
okay so this is where the actual function deets live π no cap.
π¦ Function Documentation π¦
bestie, here come the subroutines themselves β¨
π subroutine clals0 π
subroutine clals0 (integer icompq, integer nl, integer nr, integer sqre,
integer nrhs, complex, dimension( ldb, * ) b, integer ldb, complex,
dimension( ldbx, * ) bx, integer ldbx, integer, dimension( * ) perm,
integer givptr, integer, dimension( ldgcol, * ) givcol, integer ldgcol,
real, dimension( ldgnum, * ) givnum, integer ldgnum, real, dimension(
ldgnum, * ) poles, real, dimension( * ) difl, real, dimension( ldgnum, *
) difr, real, dimension( * ) z, integer k, real c, real s, real,
dimension( * ) rwork, integer info)
CLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used by sgelsd.
π Purpose π
CLALS0 applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach.
For the left singular vector matrix, three types of orthogonal matrices are involved:
- (1L) Givens rotations: the number of such rotations is
GIVPTR; the pairs of columns/rows they were applied to are stored inGIVCOL; and the C- and S-values of these rotations are stored inGIVNUM. - (2L) Permutation. The
(NL+1)-st row ofBis to be moved to the first row, and forJ=2:N,PERM(J)-th row ofBis to be moved to theJ-th row. - (3L) The left singular vector matrix of the remaining matrix.
For the right singular vector matrix, four types of orthogonal matrices are involved:
- (1R) The right singular vector matrix of the remaining matrix.
- (2R) If
SQRE = 1, one extra Givens rotation to generate the right null space. - (3R) The inverse transformation of (2L).
- (4R) The inverse transformation of (1L).
π Parameters π
ICOMPQβICOMPQis INTEGER. Specifies whether singular vectors are to be computed in factored form: = 0: Left singular vector matrix. = 1: Right singular vector matrix.NLβNLis INTEGER. The row dimension of the upper block.NL >= 1.NRβNRis INTEGER. The row dimension of the lower block.NR >= 1.SQREβSQREis INTEGER. = 0: the lower block is anNR-by-NRsquare matrix. = 1: the lower block is anNR-by-(NR+1)rectangular matrix. The bidiagonal matrix has row dimensionN = NL + NR + 1, and column dimensionM = N + SQRE.NRHSβNRHSis INTEGER. The number of columns ofBandBX.NRHSmust be at least 1.BβBis COMPLEX array, dimension( LDB, NRHS ). On input,Bcontains the right hand sides of the least squares problem in rows 1 throughM. On output,Bcontains the solutionXin rows 1 throughN.LDBβLDBis INTEGER. The leading dimension ofB.LDBmust be at leastmax(1,MAX( M, N )).BXβBXis COMPLEX array, dimension( LDBX, NRHS ).LDBXβLDBXis INTEGER. The leading dimension ofBX.PERMβPERMis INTEGER array, dimension( N ). The permutations (from deflation and sorting) applied to the two blocks.GIVPTRβGIVPTRis INTEGER. The number of Givens rotations which took place in this subproblem.GIVCOLβGIVCOLis INTEGER array, dimension( LDGCOL, 2 ). Each pair of numbers indicates a pair of rows/columns involved in a Givens rotation.LDGCOLβLDGCOLis INTEGER. The leading dimension ofGIVCOL, must be at leastN.GIVNUMβGIVNUMis REAL array, dimension( LDGNUM, 2 ). Each number indicates the C or S value used in the corresponding Givens rotation.LDGNUMβLDGNUMis INTEGER. The leading dimension of arraysDIFR,POLESandGIVNUM, must be at leastK.POLESβPOLESis REAL array, dimension( LDGNUM, 2 ). On entry,POLES(1:K, 1)contains the new singular values obtained from solving the secular equation, andPOLES(1:K, 2)is an array containing the poles in the secular equation.DIFLβDIFLis REAL array, dimension( K ). On entry,DIFL(I)is the distance betweenI-th updated (undeflated) singular value and theI-th (undeflated) old singular value.DIFRβDIFRis REAL array, dimension( LDGNUM, 2 ). On entry,DIFR(I, 1)contains the distances betweenI-th updated (undeflated) singular value and theI+1-th (undeflated) old singular value. AndDIFR(I, 2)is the normalizing factor for theI-th right singular vector.ZβZis REAL array, dimension( K ). Contain the components of the deflation-adjusted updating row vector.KβKis INTEGER. Contains the dimension of the non-deflated matrix, This is the order of the related secular equation.1 <= K <=N.CβCis REAL.Ccontains garbage ifSQRE =0and the C-value of a Givens rotation related to the right null space ifSQRE = 1.SβSis REAL.Scontains garbage ifSQRE =0and the S-value of a Givens rotation related to the right null space ifSQRE = 1.RWORKβRWORKis REAL array, dimension( K*(1+NRHS) + 2*NRHS ).INFOβINFOis INTEGER. = 0: successful exit. < 0: ifINFO = -i, thei-th argument had an illegal value.
β Author β
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors: π
- Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA
- Osni Marques, LBNL/NERSC, USA
Definition at line 267 of file clals0.f.
π subroutine dlals0 π
subroutine dlals0 (integer icompq, integer nl, integer nr, integer sqre,
integer nrhs, double precision, dimension( ldb, * ) b, integer ldb,
double precision, dimension( ldbx, * ) bx, integer ldbx, integer,
dimension( * ) perm, integer givptr, integer, dimension( ldgcol, * )
givcol, integer ldgcol, double precision, dimension( ldgnum, * ) givnum,
integer ldgnum, double precision, dimension( ldgnum, * ) poles, double
precision, dimension( * ) difl, double precision, dimension( ldgnum, * )
difr, double precision, dimension( * ) z, integer k, double precision c,
double precision s, double precision, dimension( * ) work, integer info)
DLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used by sgelsd.
π Purpose π
DLALS0 applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach.
For the left singular vector matrix, three types of orthogonal matrices are involved:
- (1L) Givens rotations: the number of such rotations is
GIVPTR; the pairs of columns/rows they were applied to are stored inGIVCOL; and the C- and S-values of these rotations are stored inGIVNUM. - (2L) Permutation. The
(NL+1)-st row ofBis to be moved to the first row, and forJ=2:N,PERM(J)-th row ofBis to be moved to theJ-th row. - (3L) The left singular vector matrix of the remaining matrix.
For the right singular vector matrix, four types of orthogonal matrices are involved:
- (1R) The right singular vector matrix of the remaining matrix.
- (2R) If
SQRE = 1, one extra Givens rotation to generate the right null space. - (3R) The inverse transformation of (2L).
- (4R) The inverse transformation of (1L).
π Parameters π
ICOMPQβ bestie, the parameter deets fordlals0continue in part 2 πICOMPQβ okay soICOMPQ is INTEGER. It specifies whether singular vectors are to be computed in factored form:= 0:Left singular vector matrix.= 1:Right singular vector matrix. πNLβNL is INTEGER. The row dimension of the upper block.NL >= 1. β¨NRβNR is INTEGER. The row dimension of the lower block.NR >= 1. π¦SQREβSQRE is INTEGER.= 0:the lower block is an NR-by-NR square matrix.= 1:the lower block is an NR-by-(NR+1) rectangular matrix. The bidiagonal matrix has row dimensionN = NL + NR + 1, and column dimensionM = N + SQRE. πNRHSβNRHS is INTEGER. The number of columns of B and BX.NRHSmust be at least 1. πΈBβB is DOUBLE PRECISION array, dimension ( LDB, NRHS ). On input, B contains the right hand sides of the least squares problem in rows 1 through M. On output, B contains the solution X in rows 1 through N. πLDBβLDB is INTEGER. The leading dimension of B. LDB must be at leastmax(1,MAX( M, N )). πBXβBX is DOUBLE PRECISION array, dimension ( LDBX, NRHS ). πLDBXβLDBX is INTEGER. The leading dimension of BX. βPERMβPERM is INTEGER array, dimension ( N ). The permutations (from deflation and sorting) applied to the two blocks. π§GIVPTRβGIVPTR is INTEGER. The number of Givens rotations which took place in this subproblem. π«GIVCOLβGIVCOL is INTEGER array, dimension ( LDGCOL, 2 ). Each pair of numbers indicates a pair of rows/columns involved in a Givens rotation. π₯LDGCOLβLDGCOL is INTEGER. The leading dimension of GIVCOL, must be at least N. πGIVNUMβGIVNUM is DOUBLE PRECISION array, dimension ( LDGNUM, 2 ). Each number indicates the C or S value used in the corresponding Givens rotation. πLDGNUMβLDGNUM is INTEGER. The leading dimension of arrays DIFR, POLES and GIVNUM, must be at least K. πPOLESβPOLES is DOUBLE PRECISION array, dimension ( LDGNUM, 2 ). On entry,POLES(1:K, 1)contains the new singular values obtained from solving the secular equation, andPOLES(1:K, 2)is an array containing the poles in the secular equation. πΈDIFLβDIFL is DOUBLE PRECISION array, dimension ( K ). On entry,DIFL(I)is the distance between I-th updated (undeflated) singular value and the I-th (undeflated) old singular value. β¨DIFRβDIFR is DOUBLE PRECISION array, dimension ( LDGNUM, 2 ). On entry,DIFR(I, 1)contains the distances between I-th updated (undeflated) singular value and the I+1-th (undeflated) old singular value. AndDIFR(I, 2)is the normalizing factor for the I-th right singular vector. π¦ZβZ is DOUBLE PRECISION array, dimension ( K ). Contain the components of the deflation-adjusted updating row vector. πKβK is INTEGER. Contains the dimension of the non-deflated matrix, This is the order of the related secular equation.1 <= K <=N. πCβC is DOUBLE PRECISION. C contains garbage ifSQRE =0and the C-value of a Givens rotation related to the right null space ifSQRE = 1. πSβS is DOUBLE PRECISION. S contains garbage ifSQRE =0and the S-value of a Givens rotation related to the right null space ifSQRE = 1. πWORKβWORK is DOUBLE PRECISION array, dimension ( K ). πINFOβINFO is INTEGER.= 0:successful exit.< 0:ifINFO = -i, the i-th argument had an illegal value. β
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors π
- Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA
- Osni Marques, LBNL/NERSC, USA
Definition at line 265 of file dlals0.f. π
π¦ SLALS0 π¦
subroutine slals0 (integer icompq, integer nl, integer nr, integer sqre,
integer nrhs, real, dimension( ldb, * ) b, integer ldb, real, dimension(
ldbx, * ) bx, integer ldbx, integer, dimension( * ) perm, integer
givptr, integer, dimension( ldgcol, * ) givcol, integer ldgcol, real,
dimension( ldgnum, * ) givnum, integer ldgnum, real, dimension( ldgnum,
* ) poles, real, dimension( * ) difl, real, dimension( ldgnum, * ) difr,
real, dimension( * ) z, integer k, real c, real s, real, dimension( * )
work, integer info)
SLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used by sgelsd. π
πΈ Purpose πΈ
SLALS0 applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach. β¨
For the left singular vector matrix, three types of orthogonal matrices are involved:
- (1L) Givens rotations: the number of such rotations is GIVPTR; the pairs of columns/rows they were applied to are stored in GIVCOL; and the C- and S-values of these rotations are stored in GIVNUM. π
- (2L) Permutation. The (NL+1)-st row of B is to be moved to the first row, and for J=2:N, PERM(J)-th row of B is to be moved to the J-th row. π¦
- (3L) The left singular vector matrix of the remaining matrix. π
For the right singular vector matrix, four types of orthogonal matrices are involved:
- (1R) The right singular vector matrix of the remaining matrix. π
- (2R) If SQRE = 1, one extra Givens rotation to generate the right null space. β
- (3R) The inverse transformation of (2L). π§
- (4R) The inverse transformation of (1L). π
π Parameters π
ICOMPQβICOMPQ is INTEGER. Specifies whether singular vectors are to be computed in factored form:= 0:Left singular vector matrix.= 1:Right singular vector matrix. πNLβNL is INTEGER. The row dimension of the upper block.NL >= 1. β¨NRβNR is INTEGER. The row dimension of the lower block.NR >= 1. π¦SQREβSQRE is INTEGER.= 0:the lower block is an NR-by-NR square matrix.= 1:the lower block is an NR-by-(NR+1) rectangular matrix. The bidiagonal matrix has row dimensionN = NL + NR + 1, and column dimensionM = N + SQRE. πNRHSβNRHS is INTEGER. The number of columns of B and BX.NRHSmust be at least 1. πΈBβB is REAL array, dimension ( LDB, NRHS ). On input, B contains the right hand sides of the least squares problem in rows 1 through M. On output, B contains the solution X in rows 1 through N. πLDBβLDB is INTEGER. The leading dimension of B. LDB must be at leastmax(1,MAX( M, N )). πBXβBX is REAL array, dimension ( LDBX, NRHS ). πLDBXβLDBX is INTEGER. The leading dimension of BX. βPERMβPERM is INTEGER array, dimension ( N ). The permutations (from deflation and sorting) applied to the two blocks. π§GIVPTRβGIVPTR is INTEGER. The number of Givens rotations which took place in this subproblem. π«GIVCOLβGIVCOL is INTEGER array, dimension ( LDGCOL, 2 ). Each pair of numbers indicates a pair of rows/columns involved in a Givens rotation. π₯LDGCOLβLDGCOL is INTEGER. The leading dimension of GIVCOL, must be at least N. πGIVNUMβGIVNUM is REAL array, dimension ( LDGNUM, 2 ). Each number indicates the C or S value used in the corresponding Givens rotation. πLDGNUMβLDGNUM is INTEGER. The leading dimension of arrays DIFR, POLES and GIVNUM, must be at least K. πPOLESβPOLES is REAL array, dimension ( LDGNUM, 2 ). On entry,POLES(1:K, 1)contains the new singular values obtained from solving the secular equation, andPOLES(1:K, 2)is an array containing the poles in the secular equation. πΈDIFLβDIFL is REAL array, dimension ( K ). On entry,DIFL(I)is the distance between I-th updated (undeflated) singular value and the I-th (undeflated) old singular value. β¨DIFRDIFRβ DOUBLE PRECISION array, dimension( LDGNUM, 2 ). On entry,DIFR(I, 1)holds the distances between the I-th updated (undeflated) singular value and the I+1-th (undeflated) old singular value. AndDIFR(I, 2)is the normalizing factor for the I-th right singular vector. Two jobs, one array, she's versatile πZβ DOUBLE PRECISION array, dimension( K ). Contains the components of the deflation-adjusted updating row vector. Main character row vector, honestly.Kβ INTEGER. Contains the dimension of the non-deflated matrix β this is the order of the related secular equation.1 <= K <=N. Respect the bounds bestie, fr fr.Cβ DOUBLE PRECISION.Ccontains garbage ifSQRE =0and the C-value of a Givens rotation related to the right null space ifSQRE = 1. Yes literally garbage, it's giving recycling bin ποΈSβ DOUBLE PRECISION.Scontains garbage ifSQRE =0and the S-value of a Givens rotation related to the right null space ifSQRE = 1. Same vibe, same trash can.RWORKβ DOUBLE PRECISION array, dimension( K*(1+NRHS) + 2*NRHS ). Do the math, she's not asking again β¨INFOβ INTEGER.= 0: successful exit. slay π< 0: ifINFO = -i, the i-th argument had an illegal value. not slay π
Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors π«Ά
Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA Osni Marques, LBNL/NERSC, USA
Definition at line 265 of file slals0.f.
π¦ okay now the complex one: zlals0 π¦
subroutine zlals0 (integer icompq, integer nl, integer nr, integer sqre,
integer nrhs, complex*16, dimension( ldb, * ) b, integer ldb,
complex*16, dimension( ldbx, * ) bx, integer ldbx, integer, dimension( *
) perm, integer givptr, integer, dimension( ldgcol, * ) givcol, integer
ldgcol, double precision, dimension( ldgnum, * ) givnum, integer ldgnum,
double precision, dimension( ldgnum, * ) poles, double precision,
dimension( * ) difl, double precision, dimension( ldgnum, * ) difr,
double precision, dimension( * ) z, integer k, double precision c,
double precision s, double precision, dimension( * ) rwork, integer
info)
ZLALS0 applies back multiplying factors in solving the least squares problem using divide and conquer SVD approach. Used by sgelsd. Complex*16 edition, she's fancy π
Purpose π―
ZLALS0 applies back the multiplying factors of either the left or the right singular vector matrix of a diagonal matrix appended by a row to the right hand side matrix B in solving the least squares problem using the divide-and-conquer SVD approach.
For the left singular vector matrix, three types of orthogonal matrices are involved:
- (1L) Givens rotations β the number of such rotations is
GIVPTR; the pairs of columns/rows they were applied to are stored inGIVCOL; and the C- and S-values of these rotations are stored inGIVNUM. - (2L) Permutation β the
(NL+1)-st row ofBis to be moved to the first row, and forJ=2:N,PERM(J)-th row ofBis to be moved to the J-th row. - (3L) The left singular vector matrix of the remaining matrix.
For the right singular vector matrix, four types of orthogonal matrices are involved:
- (1R) The right singular vector matrix of the remaining matrix.
- (2R) If
SQRE = 1, one extra Givens rotation to generate the right null space. - (3R) The inverse transformation of (2L).
- (4R) The inverse transformation of (1L).
Parameters π
ICOMPQβ INTEGER. Specifies whether singular vectors are to be computed in factored form:= 0: Left singular vector matrix.= 1: Right singular vector matrix.
NLβ INTEGER. The row dimension of the upper block.NL >= 1.NRβ INTEGER. The row dimension of the lower block.NR >= 1.SQREβ INTEGER.= 0: the lower block is an NR-by-NR square matrix.= 1: the lower block is an NR-by-(NR+1) rectangular matrix.
The bidiagonal matrix has row dimension N = NL + NR + 1, and column dimension M = N + SQRE. math is mathing β¨
NRHSβ INTEGER. The number of columns ofBandBX.NRHSmust be at least 1.Bβ COMPLEX*16 array, dimension( LDB, NRHS ). On input,Bcontains the right hand sides of the least squares problem in rows 1 throughM. On output,Bcontains the solutionXin rows 1 throughN. Glow-up arc, honestly.LDBβ INTEGER. The leading dimension ofB.LDBmust be at leastmax(1,MAX( M, N )).BXβ COMPLEX*16 array, dimension( LDBX, NRHS ).LDBXβ INTEGER. The leading dimension ofBX.PERMβ INTEGER array, dimension( N ). The permutations (from deflation and sorting) applied to the two blocks.GIVPTRβ INTEGER. The number of Givens rotations which took place in this subproblem.GIVCOLβ INTEGER array, dimension( LDGCOL, 2 ). Each pair of numbers indicates a pair of rows/columns involved in a Givens rotation. iconic duo behavior π―LDGCOLβ INTEGER. The leading dimension ofGIVCOL, must be at leastN.GIVNUMβ DOUBLE PRECISION array, dimension( LDGNUM, 2 ). Each number indicates the C or S value used in the corresponding Givens rotation.LDGNUMβ INTEGER. The leading dimension of arraysDIFR,POLESandGIVNUM, must be at leastK.POLESβ DOUBLE PRECISION array, dimension( LDGNUM, 2 ). On entry,POLES(1:K, 1)contains the new singular values obtained from solving the secular equation, andPOLES(1:K, 2)is an array containing the poles in the secular equation.DIFLβ DOUBLE PRECISION array, dimension( K ). On entry,DIFL(I)is the distance between I-th updated (undeflated) singular value and the I-th (undeflated) old singular value.DIFRβ DOUBLE PRECISION array, dimension( LDGNUM, 2 ). On entry,DIFR(I, 1)contains the distances between I-th updated (undeflated) singular value and the I+1-th (undeflated) old singular value. AndDIFR(I, 2)is the normalizing factor for the I-th right singular vector.Zβ DOUBLE PRECISION array, dimension( K ). Contain the components of the deflation-adjusted updating row vector.Kβ INTEGER. Contains the dimension of the non-deflated matrix β this is the order of the related secular equation.1 <= K <=N.Cβ DOUBLE PRECISION.Ccontains garbage ifSQRE =0and the C-value of a Givens rotation related to the right null space ifSQRE = 1.Sβ DOUBLE PRECISION.Scontains garbage ifSQRE =0and the S-value of a Givens rotation related to the right null space ifSQRE = 1.RWORKβ DOUBLE PRECISION array, dimension( K*(1+NRHS) + 2*NRHS ).INFOβ INTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.
Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors π«Ά
Ming Gu and Ren-Cang Li, Computer Science Division, University of California at Berkeley, USA Osni Marques, LBNL/NERSC, USA
Definition at line 267 of file zlals0.f.
Author π
Generated automatically by Doxygen for LAPACK from the source code.
And that's the whole thing bestie, you ate that π Sending you off with the receipts: this is LAPACK, Version 3.12.0, and the page you just devoured is lals0(3) πβ¨π
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms