SRC/slasdq.f(3)
π SRC/slasdq.f(3) π
okay so bestie, this is a page from the Library Functions Manual and it's serving pure LAPACK energy π«Ά. The whole thing is literally about SRC/slasdq.f, no cap.
β¨ NAME β¨
SRC/slasdq.f
β¨ SYNOPSIS β¨
π Functions/Subroutines
subroutine slasdq (uplo, sqre, n, ncvt, nru, ncc, d, e, vt, ldvt, u,
ldu, c, ldc, work, info)
The summary is giving: SLASDQ computes the SVD of a real bidiagonal matrix with diagonal d and off-diagonal e. Used by sbdsdc.
β¨ Function/Subroutine Documentation β¨
π subroutine slasdq
subroutine slasdq (character uplo, integer sqre, integer n, integer ncvt,
integer nru, integer ncc, real, dimension( * ) d, real, dimension( * )
e, real, dimension( ldvt, * ) vt, integer ldvt, real, dimension( ldu, *
) u, integer ldu, real, dimension( ldc, * ) c, integer ldc, real,
dimension( * ) work, integer info)
SLASDQ computes the SVD of a real bidiagonal matrix with diagonal d and off-diagonal e. Used by sbdsdc. That's the main character energy of this whole page, fr fr.
π¦ Purpose
okay so here's the tea: SLASDQ computes the singular value decomposition (SVD) of a real (upper or lower) bidiagonal matrix with diagonal D and offdiagonal E, accumulating the transformations if desired. Letting B denote the input bidiagonal matrix, the algorithm computes orthogonal matrices Q and P such that:
B = Q * S * P**T
where P**T denotes the transpose of P. The singular values S are overwritten on D. Obsessed with that.
The input matrix U is changed to U * Q if desired.
The input matrix VT is changed to P**T * VT if desired.
The input matrix C is changed to Q**T * C if desired.
It also points at J. Demmel and W. Kahan, LAPACK Working Note #3, for a detailed description of the algorithm. iykyk π§
πΈ Parameters
UPLOβCHARACTER*1. On entry,UPLOspecifies whether the input bidiagonal matrix is upper or lower bidiagonal, and whether it is square are not.UPLO = 'U'or'u'βBis upper bidiagonal.UPLO = 'L'or'l'βBis lower bidiagonal.
SQREβINTEGER.= 0: then the input matrix isN-by-N.= 1: then the input matrix isN-by-(N+1) ifUPLU = 'U'and (N+1)-by-NifUPLU = 'L'.- The bidiagonal matrix has
N = NL + NR + 1rows andM = N + SQRE >= Ncolumns.
NβINTEGER. On entry,Nspecifies the number of rows and columns in the matrix.Nmust be at least0.NCVTβINTEGER. On entry,NCVTspecifies the number of columns of the matrixVT.NCVTmust be at least0.NRUβINTEGER. On entry,NRUspecifies the number of rows of the matrixU.NRUmust be at least0.NCCβINTEGER. On entry,NCCspecifies the number of columns of the matrixC.NCCmust be at least0.DβREAL array, dimension(N). On entry,Dcontains the diagonal entries of the bidiagonal matrix whose SVD is desired. On normal exit,Dcontains the singular values in ascending order.EβREAL array. dimension is(N-1)ifSQRE = 0andNifSQRE = 1. On entry, the entries ofEcontain the offdiagonal entries of the bidiagonal matrix whose SVD is desired. On normal exit,Ewill contain0. If the algorithm does not converge,DandEwill contain the diagonal and superdiagonal entries of a bidiagonal matrix orthogonally equivalent to the one given as input.VTβREAL array, dimension(LDVT, NCVT). On entry, contains a matrix which on exit has been premultiplied byP**T, dimensionN-by-NCVTifSQRE = 0and (N+1)-by-NCVTifSQRE = 1(not referenced ifNCVT=0).LDVTβINTEGER. On entry,LDVTspecifies the leading dimension ofVTas declared in the calling (sub) program.LDVTmust be at least1. IfNCVTis nonzeroLDVTmust also be at leastN.UβREAL array, dimension(LDU, N). On entry, contains a matrix which on exit has been postmultiplied byQ, dimensionNRU-by-NifSQRE = 0andNRU-by-(N+1) ifSQRE = 1(not referenced ifNRU=0).LDUβINTEGER. On entry,LDUspecifies the leading dimension ofUas declared in the calling (sub) program.LDUmust be at leastmax( 1, NRU ).CβREAL array, dimension(LDC, NCC). On entry, contains anN-by-NCCmatrix which on exit has been premultiplied byQ**TdimensionN-by-NCCifSQRE = 0and (N+1)-by-NCCifSQRE = 1(not referenced ifNCC=0).LDCβINTEGER. On entry,LDCspecifies the leading dimension ofCas declared in the calling (sub) program.LDCmust be at least1. IfNCCis nonzero,LDCmust also be at leastN.WORKβREAL array, dimension(4*N). Workspace. Only referenced if one ofNCVT,NRU, orNCCis nonzero, and ifNis at least2.INFOβINTEGER. On exit, a value of0indicates a successful exit. IfINFO < 0, argument number-INFOis illegal. IfINFO > 0, the algorithm did not converge, andINFOspecifies how many superdiagonals did not converge.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π«Ά Contributors:
Ming Gu and Huan Ren, Computer Science Division, University of California at Berkeley, USA.
π Definition
Definition at line 209 of file slasdq.f.
π» Author
Generated automatically by Doxygen for LAPACK from the source code.
and that's the whole page, bestie π
β source/version vibes from LAPACK Version 3.12.0, on SRC/slasdq.f(3). mwah π
π¦ 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