SLASDQ(3)
π NAME π
Okay so this is the SLASDQ(3) page from the Library Functions Manual, bestie. Its source file is /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slasdq.f β yes, that whole long path, no cap.
β¨ SYNOPSIS β¨
π«Ά Functions/Subroutines π«Ά
Functions/Subroutines
subroutine SLASDQ (uplo, sqre, n, ncvt, nru, ncc, d, e, vt, ldvt, u,
ldu, c, ldc, work, info)
SLASDQ computes the SVD of a real bidiagonal matrix with diagonal d and off-diagonal e. Used by sbdsdc.
π Function/Subroutine Documentation π
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.
πΈ Purpose πΈ
Bestie, 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.
- The input matrix
Uis changed toU * Qif desired. - The input matrix
VTis changed toP**T * VTif desired. - The input matrix
Cis changed toQ**T * Cif desired.
See by J. Demmel and W. Kahan, LAPACK Working Note #3, for a detailed description of the algorithm.
π Parameters π
UPLOβUPLO is CHARACTER*1. On entry,UPLOspecifies whether the input bidiagonal matrix is upper or lower bidiagonal, and whether it is square or not.UPLO = 'U'or'u'βBis upper bidiagonal.UPLO = 'L'or'l'βBis lower bidiagonal.
SQREβSQRE is 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βN is INTEGER. On entry,Nspecifies the number of rows and columns in the matrix.Nmust be at least0.NCVTβNCVT is INTEGER. On entry,NCVTspecifies the number of columns of the matrixVT.NCVTmust be at least0.NRUβNRU is INTEGER. On entry,NRUspecifies the number of rows of the matrixU.NRUmust be at least0.NCCβNCC is INTEGER. On entry,NCCspecifies the number of columns of the matrixC.NCCmust be at least0.DβD is 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βE is 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βVT is 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βLDVT is 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βU is 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βLDU is INTEGER. On entry,LDUspecifies the leading dimension ofUas declared in the calling (sub) program.LDUmust be at leastmax( 1, NRU ).CβC is 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βLDC is 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βWORK is REAL array, dimension (4*N). Workspace. Only referenced if one ofNCVT,NRU, orNCCis nonzero, and ifNis at least2.INFOβINFO is 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 TennesseeUniv. of California BerkeleyUniv. of Colorado DenverNAG Ltd.
π§ Contributors π§
Ming Gu and Huan Ren, Computer Science Division, University of California at Berkeley, USA
π Definition at line 209 of file slasdq.f. π
Definition at line 209 of file slasdq.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
xoxo, your Unix bestie π β brought to you by LAPACK Version 3.12.0 and the footer path /home/abui...RC/slasdq.f(3). Slay. β¨
π¦ 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