gsvj1(3)
okay bestie, welcome to gsvj1(3) from the Library Functions Manual β we are deep in the gesvj step lore and it is lowkey iconic. π
π NAME π
gsvj1 β gsvj1: step in gesvj. That's the whole vibe. Slay.
β¨ SYNOPSIS β¨
π Functions π
cgsvj1β CGSVJ1 pre-processor for the routinecgesvj, applies Jacobi rotations targeting only particular pivots.
subroutine cgsvj1 (jobv, m, n, n1, a, lda, d, sva, mv, v, ldv, eps,
sfmin, tol, nsweep, work, lwork, info)
dgsvj1β DGSVJ1 pre-processor for the routinedgesvj, applies Jacobi rotations targeting only particular pivots.
subroutine dgsvj1 (jobv, m, n, n1, a, lda, d, sva, mv, v, ldv, eps,
sfmin, tol, nsweep, work, lwork, info)
sgsvj1β SGSVJ1 pre-processor for the routinesgesvj, applies Jacobi rotations targeting only particular pivots.
subroutine sgsvj1 (jobv, m, n, n1, a, lda, d, sva, mv, v, ldv, eps,
sfmin, tol, nsweep, work, lwork, info)
zgsvj1β ZGSVJ1 pre-processor for the routinezgesvj, applies Jacobi rotations targeting only particular pivots.
subroutine zgsvj1 (jobv, m, n, n1, a, lda, d, sva, mv, v, ldv, eps,
sfmin, tol, nsweep, work, lwork, info)
π¦ Detailed Description π¦
bestie, the original just drops this heading and then goes straight into the function docs β iconic minimalism, honestly. β¨
π₯ Function Documentation π₯
π subroutine cgsvj1 π
subroutine cgsvj1 (character*1 jobv, integer m, integer n, integer n1,
complex, dimension( lda, * ) a, integer lda, complex, dimension( n ) d,
real, dimension( n ) sva, integer mv, complex, dimension( ldv, * ) v,
integer ldv, real eps, real sfmin, real tol, integer nsweep, complex,
dimension( lwork ) work, integer lwork, integer info)
CGSVJ1 is a pre-processor for the routine cgesvj, and it applies Jacobi rotations targeting only particular pivots. no cap, that's the whole job. π
π Purpose π
CGSVJ1 is called from CGESVJ as a pre-processor and that is its main purpose. It applies Jacobi rotations in the same way as CGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion). Few tuning parameters (marked by [TP]) are available for the implementer.
π§ Further Details π§
CGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A. The block-entries (tiles) of the (1,2) off-diagonal block are marked by the [x]'s in the following scheme:
| * * * [x] [x] [x]|
| * * * [x] [x] [x]| Row-cycling in the nblr-by-nblc [x] blocks.
| * * * [x] [x] [x]| Row-cyclic pivoting inside each [x] block.
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
In terms of the columns of A, the first N1 columns are rotated 'against' the remaining N-N1 columns, trying to increase the angle between the corresponding subspaces. The off-diagonal block is N1-by-(N-N1) and it is tiled using quadratic tiles of side KBL. Here, KBL is a tuning parameter. The number of sweeps is given in NSWEEP and the orthogonality threshold is given in TOL.
π Parameters π
JOBVβJOBV is CHARACTER*1. 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βM is INTEGER. The number of rows of the input matrixA.M >= 0.NβN is INTEGER. The number of columns of the input matrixA.M >= N >= 0.N1βN1 is INTEGER.N1specifies the2 x 2block partition; the firstN1columns are rotated'against'the remainingN-N1columns ofA.AβA is COMPLEX array, 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 ofN1,D,TOLandNSWEEP.)LDAβLDA is INTEGER. The leading dimension of the arrayA.LDA >= max(1,M).DβD is COMPLEX array, 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 ofN1,A,TOLandNSWEEP.)SVAβSVA is REAL array, 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βMV is INTEGER. IfJOBV = 'A', thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. IfJOBV = 'N', thenMVis not referenced.VβV is COMPLEX array, 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βLDV is INTEGER. The leading dimension of the arrayV,LDV >= 1. IfJOBV = 'V',LDV >= N. IfJOBV = 'A',LDV >= MV.EPSβEPS is REAL.EPS = SLAMCH('Epsilon').SFMINβSFMIN is REAL.SFMIN = SLAMCH('Safe Minimum').TOLβTOL is REAL.TOLis the threshold for Jacobi rotations. For a pairA(:,p),A(:,q)of pivot columns, the Jacobi rotation is applied only ifABS(COS(angle(A(:,p),A(:,q)))) > TOL.NSWEEPβNSWEEP is INTEGER.NSWEEPis the number of sweeps of Jacobi rotations to be performed.WORKβWORK is COMPLEX array, dimension (LWORK).LWORKβLWORK is INTEGER.LWORKis the dimension ofWORK.LWORK >= M.INFOβINFO is INTEGER.= 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.
π«Ά Contributor: π«Ά
- Zlatko Drmac (Zagreb, Croatia)
Definition at line 234 of file cgsvj1.f.
π subroutine dgsvj1 π
subroutine dgsvj1 (character*1 jobv, integer m, integer n, integer n1,
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)
DGSVJ1 is a pre-processor for the routine dgesvj, and it applies Jacobi rotations targeting only particular pivots. same energy, different precision. π
π Purpose π
DGSVJ1 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 targets only particular pivots and it does not check convergence (stopping criterion). Few tuning parameters (marked by [TP]) are available for the implementer.
π§ Further Details π§
DGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A. The block-entries (tiles) of the (1,2) off-diagonal block are marked by the [x]'s in the following scheme:
| * * * [x] [x] [x]|
| * * * [x] [x] [x]| Row-cycling in the nblr-by-nblc [x] blocks.
| * * * [x] [x] [x]| Row-cyclic pivoting inside each [x] block.
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
In terms of the columns of A, the first N1 columns are rotated 'against' the remaining N-N1 columns, trying to increase the angle between the corresponding subspaces. The off-diagonal block is N1-by-(N-N1) and it is tiled using quadratic tiles of side KBL. Here, KBL is a tuning parameter. The number of sweeps is given in NSWEEP and the orthogonality threshold is given in TOL.
π Parameters π
JOBVβJOBV is CHARACTER*1. 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βM is INTEGER. The number of rows of the input matrixA.M >= 0.Nβ
N
N is INTEGER β it's the number of columns of the input matrix A. Constraint, no cap: M >= N >= 0. π«Ά
N1
N1 is INTEGER β bestie, this one sets the 2 x 2 block partition β¨ the first N1 columns get rotated 'against' the remaining N-N1 columns of A. Like, the two teams facing off π
A
A is DOUBLE PRECISION array, dimension (LDA,N) β
On entry: the M-by-N matrix A, such that A*diag(D) represents the input matrix.
On exit: A_onexit * D_onexit represents the input matrix A*diag(D) post-multiplied by a sequence of Jacobi rotations, where the rotation threshold and the total number of sweeps are given in TOL and NSWEEP, respectively. (See the descriptions of N1, D, TOL and NSWEEP.) π
LDA
LDA is INTEGER β the leading dimension of the array A. LDA >= max(1,M). π
D
D is DOUBLE PRECISION array, dimension (N) β
The array D accumulates 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 in TOL and NSWEEP, respectively. (See the descriptions of N1, A, TOL and NSWEEP.) π
SVA
SVA is DOUBLE PRECISION array, dimension (N) β
On entry: SVA contains the Euclidean norms of the columns of the matrix A*diag(D).
On exit: SVA contains the Euclidean norms of the columns of the matrix onexit*diag(D_onexit). β
MV
MV is INTEGER β
- If
JOBV = 'A', thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'N', thenMVis not referenced. π
V
V is DOUBLE PRECISION array, dimension (LDV,N) β
- If
JOBV = 'V', thenNrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'A', thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'N', thenVis not referenced. π«
LDV
LDV is INTEGER β the leading dimension of the array V, LDV >= 1.
- If
JOBV = 'V',LDV >= N. - If
JOBV = 'A',LDV >= MV.πΈ
EPS
EPS is DOUBLE PRECISION β and it's literally just EPS = DLAMCH('Epsilon'). That's the whole assignment, bestie π
SFMIN
SFMIN is DOUBLE PRECISION β SFMIN = DLAMCH('Safe Minimum'). Iconic, tiny, safe π§
TOL
TOL is DOUBLE PRECISION β the threshold for Jacobi rotations, fr fr. For a pair A(:,p), A(:,q) of pivot columns, the Jacobi rotation is applied only if DABS(COS(angle(A(:,p),A(:,q)))) > TOL. π
NSWEEP
NSWEEP is INTEGER β the number of sweeps of Jacobi rotations to be performed. That's how many laps we're doing πββοΈ
WORK
WORK is DOUBLE PRECISION array, dimension (LWORK) β the workspace, the vibes buffer β¨
LWORK
LWORK is INTEGER β the dimension of WORK. LWORK >= M. π
INFO
INFO is INTEGER β
= 0: successful exit. we love a clean win π< 0: ifINFO = -i, then the i-th argument had an illegal value π
Author
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Zlatko Drmac (Zagreb, Croatia) and Kresimir Veselic (Hagen, Germany) π«Ά
Definition at line 234 of file dgsvj1.f.
subroutine sgsvj1 (character*1 jobv, integer m, integer n, integer n1, real, dimension( lda, * ) a, integer lda, real, dimension( n ) d, real, dimension( n ) sva, integer mv, real, dimension( ldv, * ) v, integer ldv, real eps, real sfmin, real tol, integer nsweep, real, dimension( lwork ) work, integer lwork, integer info)
subroutine sgsvj1 (character*1 jobv, integer m, integer n, integer n1, real,
dimension( lda, * ) a, integer lda, real, dimension( n ) d, real,
dimension( n ) sva, integer mv, real, dimension( ldv, * ) v, integer
ldv, real eps, real sfmin, real tol, integer nsweep, real, dimension(
lwork ) work, integer lwork, integer info)
SGSVJ1 pre-processor for the routine sgesvj, applies Jacobi rotations targeting only particular pivots. π
Purpose:
SGSVJ1 is called from SGESVJ as a pre-processor and that is its main purpose. It applies Jacobi rotations in the same way as SGESVJ does, but it targets only particular pivots and it does not check convergence (stopping criterion). Few tuning parameters (marked by [TP]) are available for the implementer. π₯
Further Details
SGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A. The block-entries (tiles) of the (1,2) off-diagonal block are marked by the [x]'s in the following scheme:
| * * * [x] [x] [x]|
| * * * [x] [x] [x]| Row-cycling in the nblr-by-nblc [x] blocks.
| * * * [x] [x] [x]| Row-cyclic pivoting inside each [x] block.
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
In terms of the columns of A, the first N1 columns are rotated 'against' the remaining N-N1 columns, trying to increase the angle between the corresponding subspaces. The off-diagonal block is N1-by-(N-N1) and it is tiled using quadratic tiles of side KBL. Here, KBL is a tuning parameter. The number of sweeps is given in NSWEEP and the orthogonality threshold is given in TOL. π¦
Parameters
JOBV
JOBV is CHARACTER*1 β specifies whether the output from this procedure is used to compute the matrix V:
= '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
M is INTEGER β the number of rows of the input matrix A. M >= 0. π
N
N is INTEGER β the number of columns of the input matrix A. M >= N >= 0. π«Ά
N1
N1 is INTEGER β N1 specifies the 2 x 2 block partition, the first N1 columns are rotated 'against' the remaining N-N1 columns of A. β¨
A
A is REAL array, dimension (LDA,N) β
On entry: M-by-N matrix A, such that A*diag(D) represents the input matrix.
On exit: A_onexit * D_onexit represents the input matrix A*diag(D) post-multiplied by a sequence of Jacobi rotations, where the rotation threshold and the total number of sweeps are given in TOL and NSWEEP, respectively. (See the descriptions of N1, D, TOL and NSWEEP.) π
LDA
LDA is INTEGER β the leading dimension of the array A. LDA >= max(1,M). π
D
D is REAL array, dimension (N) β
The array D accumulates 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 in TOL and NSWEEP, respectively. (See the descriptions of N1, A, TOL and NSWEEP.) π
SVA
SVA is REAL array, dimension (N) β
On entry: SVA contains the Euclidean norms of the columns of the matrix A*diag(D).
On exit: SVA contains the Euclidean norms of the columns of the matrix onexit*diag(D_onexit). β
MV
MV is INTEGER β
- If
JOBV = 'A', thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'N', thenMVis not referenced. π
V
V is REAL array, dimension (LDV,N) β
- If
JOBV = 'V'thenNrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'A'thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'N', thenVis not referenced. π«
LDV
LDV is INTEGER β the leading dimension of the array V, LDV >= 1.
- If
JOBV = 'V',LDV >= N. - If
JOBV = 'A',LDV >= MV.πΈ
EPS
EPS is REAL β EPS = SLAMCH('Epsilon'). That's it, that's the parameter π
SFMIN
SFMIN is REAL β SFMIN = SLAMCH('Safe Minimum'). Tiny but mighty π§
TOL
TOL is REAL β the threshold for Jacobi rotations. For a pair A(:,p), A(:,q) of pivot columns, the Jacobi rotation is applied only if ABS(COS(angle(A(:,p),A(:,q)))) > TOL. π
NSWEEP
NSWEEP is INTEGER β the number of sweeps of Jacobi rotations to be performed. π
WORK
WORK is REAL array, dimension (LWORK) β the workspace zone β¨
LWORK
LWORK is INTEGER β the dimension of WORK. LWORK >= M. π
INFOβINTEGER. The exit-status girlie π .= 0: successful exit, we ate and left no crumbs β¨.< 0: ifINFO = -i, then the i-th argument had an illegal value β so like, go check your inputs bestie, one of them is being messy π.
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π«Ά Contributors:
Zlatko Drmac (Zagreb, Croatia) and Kresimir Veselic (Hagen, Germany) β the icons who made this happen π
Definition at line 234 of file sgsvj1.f.
β¨ subroutine zgsvj1 β¨
subroutine zgsvj1 (character*1 jobv, integer m, integer n, integer n1,
complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( n
) d, double precision, dimension( n ) sva, integer mv, complex*16,
dimension( ldv, * ) v, integer ldv, double precision eps, double
precision sfmin, double precision tol, integer nsweep, complex*16,
dimension( lwork ) work, integer lwork, integer info)
ZGSVJ1 is the pre-processor for the routine zgesvj, and it applies Jacobi rotations targeting only particular pivots π₯ no cap.
π Purpose:
ZGSVJ1is called fromZGESVJas a pre-processor and that is its main purpose. It applies Jacobi rotations in the same way asZGESVJdoes, but it targets only particular pivots and it does not check convergence (stopping criterion). Few tuning parameters (marked by[TP]) are available for the implementer.
πΈ Further Details πΈ
ZGSVJ1 applies few sweeps of Jacobi rotations in the column space of the input M-by-N matrix A. The pivot pairs are taken from the (1,2) off-diagonal block in the corresponding N-by-N Gram matrix A^T * A. The block-entries (tiles) of the (1,2) off-diagonal block are marked by the [x]'s in the following scheme:
| * * * [x] [x] [x]|
| * * * [x] [x] [x]| Row-cycling in the nblr-by-nblc [x] blocks.
| * * * [x] [x] [x]| Row-cyclic pivoting inside each [x] block.
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
|[x] [x] [x] * * * |
In terms of the columns of A, the first N1 columns are rotated 'against' the remaining N-N1 columns, trying to increase the angle between the corresponding subspaces. The off-diagonal block is N1-by-(N-N1) and it is tiled using quadratic tiles of side KBL. Here, KBL is a tuning parameter. The number of sweeps is given in NSWEEP and the orthogonality threshold is given in TOL. Literally the whole vibe π¦.
π 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 the N-by-N arrayV. (See the description ofV.)= 'A': the product of the Jacobi rotations is accumulated by postmultiplying the MV-by-N arrayV. (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.N1βN1isINTEGER.N1specifies the 2 x 2 block partition, the firstN1columns are rotated 'against' the remainingN-N1columns ofA.AβAisCOMPLEX*16array, dimension(LDA,N).- On entry, M-by-N matrix
A, 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 ofN1,D,TOLandNSWEEP.)
- On entry, M-by-N matrix
LDAβLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,M).DβDisCOMPLEX*16array, 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 ofN1,A,TOLandNSWEEP.)
- On entry,
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).
- On entry,
MVβMVisINTEGER.- If
JOBV = 'A', thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'N', thenMVis not referenced.
- If
VβVisCOMPLEX*16array, dimension(LDV,N).- If
JOBV = 'V'thenNrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'A'thenMVrows ofVare post-multiplied by a sequence of Jacobi rotations. - If
JOBV = 'N', thenVis not referenced.
- If
LDVβLDVisINTEGER. The leading dimension of the arrayV,LDV >= 1.- If
JOBV = 'V',LDV >= N. - If
JOBV = 'A',LDV >= MV.
- If
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 ifABS(COS(angle(A(:,p),A(:,q)))) > TOL.NSWEEPβNSWEEPisINTEGER.NSWEEPis the number of sweeps of Jacobi rotations to be performed.WORKβWORKisCOMPLEX*16array, dimension(LWORK).LWORKβLWORKisINTEGER.LWORKis the dimension ofWORK.LWORK >= M.INFOβINFOisINTEGER.= 0: successful exit, slay π .< 0: ifINFO = -i, then the i-th argument had an illegal value β something in your inputs is not giving, go fix it bestie π.
π Author
- Univ. of Tennessee
- Univ. of Colorado Denver β wait, no, correction, the trio is:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π«Ά Contributor:
Zlatko Drmac (Zagreb, Croatia) β the main character of this whole routine fr fr β¨
Definition at line 234 of file zgsvj1.f.
π Author
Generated automatically by Doxygen for LAPACK from the source code.
And that's the whole page bestie, you made it to the end π The footer says this is LAPACK, Version 3.12.0, page gsvj1(3) β so like, cite it with pride, it's giving official documentation energy ππβ¨
π¦ 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