SRC/dgsvj0.f(3)
πΈ NAME πΈ
okay so bestie, this is SRC/dgsvj0.f(3) from the Library Functions Manual, section 3 β the whole page is about the dgsvj0 subroutine. π
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine dgsvj0 (jobv, m, n, a, lda, d, sva, mv, v, ldv, eps, sfmin, tol, nsweep, work, lwork, info)
DGSVJ0 pre-processor for the routine dgesvj.
π Function/Subroutine Documentation π
subroutine dgsvj0 (character*1 jobv, integer m, integer n, double precision, dimension( lda, * ) a, integer lda, double precision, dimension( n ) d, double precision, dimension( n ) sva, integer mv, double precision, dimension( ldv, * ) v, integer ldv, double precision eps, double precision sfmin, double precision tol, integer nsweep, double precision, dimension( lwork ) work, integer lwork, integer info)
DGSVJ0 pre-processor for the routine dgesvj.
π Purpose π
Okay so DGSVJ0 is called from DGESVJ as a pre-processor, and that is its main purpose. It applies Jacobi rotations in the same way as DGESVJ does, but it does not check convergence (stopping criterion). Few tuning parameters (marked by [TP]) are available for the implementer. π«
π Parameters π
JOBVβJOBVisCHARACTER*1. It specifies whether the output from this procedure is used to compute the matrixV:= 'V': the product of the Jacobi rotations is accumulated by postmultiplying theN-by-NarrayV. (See the description ofV.)= 'A': the product of the Jacobi rotations is accumulated by postmultiplying theMV-by-NarrayV. (See the descriptions ofMVandV.)= 'N': the Jacobi rotations are not accumulated.
MβMisINTEGER. The number of rows of the input matrixA.M >= 0.NβNisINTEGER. The number of columns of the input matrixA.M >= N >= 0.AβAisDOUBLE PRECISIONarray, dimension(LDA,N). On entry,M-by-NmatrixA, such thatA*diag(D)represents the input matrix. On exit,A_onexit * D_onexitrepresents the input matrixA*diag(D)post-multiplied by a sequence of Jacobi rotations, where the rotation threshold and the total number of sweeps are given inTOLandNSWEEP, respectively. (See the descriptions ofD,TOLandNSWEEP.)LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).DβDisDOUBLE PRECISIONarray, dimension(N). The arrayDaccumulates the scaling factors from the fast scaled Jacobi rotations. On entry,A*diag(D)represents the input matrix. On exit,A_onexit*diag(D_onexit)represents the input matrix post-multiplied by a sequence of Jacobi rotations, where the rotation threshold and the total number of sweeps are given inTOLandNSWEEP, respectively. (See the descriptions ofA,TOLandNSWEEP.)SVAβSVAisDOUBLE PRECISIONarray, dimension(N). On entry,SVAcontains the Euclidean norms of the columns of the matrixA*diag(D). On exit,SVAcontains the Euclidean norms of the columns of the matrixonexit*diag(D_onexit).MVβMVisINTEGER. IfJOBV = 'A', thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. IfJOBV = 'N', thenMVis not referenced.VβVisDOUBLE PRECISIONarray, dimension(LDV,N). IfJOBV = 'V'thenNrows ofVare post-multiplied by a sequence of Jacobi rotations. IfJOBV = 'A'thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. IfJOBV = 'N', thenVis not referenced.LDVβLDVisINTEGER. The leading dimension of the arrayV,LDV >= 1. IfJOBV = 'V',LDV >= N. IfJOBV = 'A',LDV >= MV.EPSβEPSisDOUBLE PRECISION.EPS = DLAMCH('Epsilon').SFMINβSFMINisDOUBLE PRECISION.SFMIN = DLAMCH('Safe Minimum').TOLβTOLisDOUBLE PRECISION.TOLis the threshold for Jacobi rotations. For a pairA(:,p),A(:,q)of pivot columns, the Jacobi rotation is applied only ifDABS(COS(angle(A(:,p),A(:,q)))) > TOL.NSWEEPβNSWEEPisINTEGER.NSWEEPis the number of sweeps of Jacobi rotations to be performed.WORKβWORKisDOUBLE PRECISIONarray, dimension(LWORK).LWORKβLWORKisINTEGER.LWORKis the dimension ofWORK.LWORK >= M.INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, then thei-th argument had an illegal value.
π«Ά Author π«Ά
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details π
DGSVJ0 is used just to enable DGESVJ to call a simplified version of itself to work on a submatrix of the original matrix.
π§ Contributors π§
Zlatko Drmac (Zagreb, Croatia) and Kresimir Veselic (Hagen, Germany)
π Bugs, Examples and Comments π
Please report all bugs and send interesting test examples and comments to drmac@math.hr. Thank you.
Definition at line 216 of file dgsvj0.f.
π«Ά Author π«Ά
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page. The footer's source/version/date slot says LAPACK β Version 3.12.0 β source SRC/dgsvj0.f(3). No extra date shown in that footer, just the version and the page, so that's the cute sign-off. Mwah, go slay those Jacobi rotations. π
β¨
π¦ 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