DGELSS(3)
πΈ NAME πΈ
DGELSS(3) β Library Functions Manual β okay so this is the page for /home/abui...RC/dgelss.f(3), and it's lowkey iconic because it documents the DGELSS subroutine. π
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine DGELSS (m, n, nrhs, a, lda, b, ldb, s, rcond, rank, work,
lwork, info)
DGELSS solves overdetermined or underdetermined systems for GE
matrices
π¦ Function/Subroutine Documentation π¦
subroutine DGELSS (integer m, integer n, integer nrhs, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( ldb, *
) b, integer ldb, double precision, dimension( * ) s, double precision
rcond, integer rank, double precision, dimension( * ) work, integer
lwork, integer info)
DGELSS solves overdetermined or underdetermined systems for GE matrices β periodt. π
π Purpose π
okay bestie, here's the vibe: DGELSS computes the minimum norm solution to a real linear least squares problem:
Minimize 2-norm(| b - A*x |).
It does this using the singular value decomposition (SVD) of A. A is an M-by-N matrix which may be rank-deficient. π
Several right hand side vectors b and solution vectors x can be handled in a single call; they are stored as the columns of the M-by-NRHS right hand side matrix B and the N-by-NRHS solution matrix X. π«Ά
The effective rank of A is determined by treating as zero those singular values which are less than RCOND times the largest singular value. No cap. β¨
βοΈ Parameters βοΈ
MβM is INTEGER. It's the number of rows of the matrixA. Constraint:M >= 0. πNβN is INTEGER. It's the number of columns of the matrixA. Constraint:N >= 0. πNRHSβNRHS is INTEGER. The number of right hand sides, i.e., the number of columns of the matricesBandX. Constraint:NRHS >= 0. πAβA is DOUBLE PRECISION array, dimension (LDA,N). On entry, it's theM-by-NmatrixA. On exit, the firstmin(m,n)rows ofAare overwritten with its right singular vectors, stored rowwise. πLDAβLDA is INTEGER. The leading dimension of the arrayA. Constraint:LDA >= max(1,M). πBβB is DOUBLE PRECISION array, dimension (LDB,NRHS). On entry, it's theM-by-NRHSright hand side matrixB. On exit,Bis overwritten by theN-by-NRHSsolution matrixX. Ifm >= nandRANK = n, the residual sum-of-squares for the solution in thei-thcolumn is given by the sum of squares of elementsn+1:min that column. π«ΆLDBβLDB is INTEGER. The leading dimension of the arrayB. Constraint:LDB >= max(1,max(M,N)). πSβS is DOUBLE PRECISION array, dimension (min(M,N)). It holds the singular values ofAin decreasing order. The condition number ofAin the 2-norm =S(1)/S(min(m,n)). πRCONDβRCOND is DOUBLE PRECISION. It's used to determine the effective rank ofA. Singular valuesS(i) <= RCOND*S(1)are treated as zero. IfRCOND < 0, machine precision is used instead. β οΈRANKβRANK is INTEGER. The effective rank ofA, i.e., the number of singular values which are greater thanRCOND*S(1). πWORKβWORK is DOUBLE PRECISION array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the optimalLWORK. β¨LWORKβLWORK is INTEGER. The dimension of the arrayWORK.LWORK >= 1, and also:LWORK >= 3*min(M,N) + max( 2*min(M,N), max(M,N), NRHS ). For good performance,LWORKshould generally be larger. IfLWORK = -1, then a workspace query is assumed; the routine only calculates the optimal size of theWORKarray, returns this value as the first entry of theWORKarray, and no error message related toLWORKis issued byXERBLA. π¨INFOβINFO is INTEGER.= 0: successful exit.< 0: ifINFO = -i, thei-thargument had an illegal value.> 0: the algorithm for computing the SVD failed to converge; ifINFO = i,ioff-diagonal elements of an intermediate bidiagonal form did not converge to zero. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 170 of file dgelss.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. π€β¨
mwah π β this page is from LAPACK Version 3.12.0, source /home/abui...RC/dgelss.f(3). The footer didn't print a separate date, bestie, so I'm not inventing one. π«Ά
π¦ 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