ZLALSD(3)
π ZLALSD(3) β the LAPACK bidiagonal least-squares solver π
okay so bestie, this page is from the Library Functions Manual, and it is literally about ZLALSD(3). Itβs giving βlinear algebra main characterβ energy, no cap. π
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlalsd.f β yep, thatβs the source file path this page is about, and the subroutine is ZLALSD. π
π SYNOPSIS π
Functions/Subroutines
subroutine ZLALSD (uplo, smlsiz, n, nrhs, d, e, b, ldb, rcond, rank,
work, rwork, iwork, info)
ZLALSD uses the singular value decomposition of A to solve the least squares problem. β¨
π§ Function/Subroutine Documentation π§
β¨ subroutine ZLALSD β¨
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)
ZLALSD uses the singular value decomposition of A to solve the least squares problem. Yes bestie, youβre gonna see that sentence again β itβs the whole point. π«Ά
π Purpose π
Okay so the actual glow-up: 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. So yes, D is absolutely serving sorted singular values on exit. πΈ
πΈ Parameters πΈ
UPLOβUPLOisCHARACTER*1.= 'U':DandEdefine an upper bidiagonal matrix.= 'L':DandEdefine a lower bidiagonal matrix.
SMLSIZβSMLSIZisINTEGER. The maximum size of the subproblems at the bottom of the computation tree. π³NβNisINTEGER. The dimension of the bidiagonal matrix.N >= 0.NRHSβNRHSisINTEGER. The number of columns ofB.NRHSmust be at least1.DβDisDOUBLE PRECISIONarray, dimension(N). On entry,Dcontains the main diagonal of the bidiagonal matrix. On exit, ifINFO = 0,Dcontains its singular values.EβEisDOUBLE PRECISIONarray, dimension(N-1). Contains the super-diagonal entries of the bidiagonal matrix. On exit,Ehas been destroyed. π not literally bestie, itβs just overwritten.BβBisCOMPLEX*16array, dimension(LDB,NRHS). On input,Bcontains the right hand sides of the least squares problem. On output,Bcontains the solutionX.LDBβLDBisINTEGER. The leading dimension ofBin the calling subprogram.LDBmust be at leastmax(1,N).RCONDβRCONDisDOUBLE PRECISION. The singular values ofAless than or equal toRCONDtimes the largest singular value are treated as zero in solving the least squares problem. IfRCONDis negative, machine precision is used instead. For example, ifdiag(S)*X=Bwere the least squares problem, wherediag(S)is a diagonal matrix of singular values, the solution would beX(i) = B(i) / S(i)ifS(i)is greater thanRCOND*max(S), andX(i) = 0ifS(i)is less than or equal toRCOND*max(S).RANKβRANKisINTEGER. The number of singular values ofAgreater thanRCONDtimes the largest singular value.WORKβWORKisCOMPLEX*16array, dimension(N * NRHS).RWORKβRWORKisDOUBLE PRECISIONarray, 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 )
IWORKβIWORKisINTEGERarray, dimension at least(3*N*NLVL + 11*N).INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-th argument had an illegal value.> 0: The algorithm failed to compute a singular value while working on the submatrix lying in rows and columnsINFO/(N+1)throughMOD(INFO,N+1).
π«Ά quick vibe check: on exit,Ehas been destroyed, andINFO > 0means the algorithm failed to compute a singular value while working on that submatrix. Not a drill. π
π 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 179 of file zlalsd.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
and thatβs the whole page, bestie. big cute sign-off: shoutout to LAPACK Version 3.12.0, and the footer path is /home/abui...RC/zlalsd.f(3). love that for us. πβ¨π
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms