SLAR1V(3)
β¨ NAME β¨
okay bestie, welcome to the Library Functions Manual moment for header path /home/abui...RC/slar1v.f(3) β this whole page is about this file:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slar1v.f
it's giving very specific linear algebra energy and I am lowkey obsessed π¦
π¦ SYNOPSIS π¦
πΈ Functions/Subroutines πΈ
subroutine SLAR1V (n, b1, bn, lambda, d, l, ld, lld, pivmin, gaptol, z,
wantnc, negcnt, ztz, mingma, r, isuppz, nrminv, resid, rqcorr, work)
SLAR1V computes the (scaled) r-th column of the inverse of the
submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I.
π Function/Subroutine Documentation π
subroutine SLAR1V (integer n, integer b1, integer bn, real lambda, real,
dimension( * ) d, real, dimension( * ) l, real, dimension( * ) ld, real,
dimension( * ) lld, real pivmin, real gaptol, real, dimension( * ) z,
logical wantnc, integer negcnt, real ztz, real mingma, integer r,
integer, dimension( * ) isuppz, real nrminv, real resid, real rqcorr,
real, dimension( * ) work)
SLAR1V computes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. iconic behavior, honestly π
πΈ Purpose πΈ
okay so here's the vibe: SLAR1V computes the (scaled) r-th column of the inverse of the sumbmatrix in rows B1 through BN of the tridiagonal matrix L D L**T - sigma I. yes, the source says βsumbmatrixβ β I'm keeping it, it's canon π
When sigma is close to an eigenvalue, the computed vector is an accurate eigenvector. Usually, r corresponds to the index where the eigenvector is largest in magnitude.
The following steps accomplish this computation:
(a)Stationary qd transform,L D L**T - sigma I = L(+) D(+) L(+)**T,(b)Progressive qd transform,L D L**T - sigma I = U(-) D(-) U(-)**T,(c)Computation of the diagonal elements of the inverse ofL D L**T - sigma Iby combining the above transforms, and choosingras the index where the diagonal of the inverse is (one of the) largest in magnitude.(d)Computation of the (scaled) r-th column of the inverse using the twisted factorization obtained by combining the top part of the stationary and the bottom part of the progressive transform.
π Parameters π
β N β
N is INTEGER. The order of the matrix L D L**T.
β B1 β
B1 is INTEGER. First index of the submatrix of L D L**T.
β BN β
BN is INTEGER. Last index of the submatrix of L D L**T.
β LAMBDA β
LAMBDA is REAL. The shift. In order to compute an accurate eigenvector, LAMBDA should be a good approximation to an eigenvalue of L D L**T.
β L β
L is REAL array, dimension (N-1). The (n-1) subdiagonal elements of the unit bidiagonal matrix L, in elements 1 to N-1.
β D β
D is REAL array, dimension (N). The n diagonal elements of the diagonal matrix D.
β LD β
LD is REAL array, dimension (N-1). The n-1 elements L(i)*D(i).
β LLD β
LLD is REAL array, dimension (N-1). The n-1 elements L(i)*L(i)*D(i).
β PIVMIN β
PIVMIN is REAL. The minimum pivot in the Sturm sequence.
β GAPTOL β
GAPTOL is REAL. Tolerance that indicates when eigenvector entries are negligible w.r.t. their contribution to the residual.
β Z β
Z is REAL array, dimension (N). On input, all entries of Z must be set to 0. On output, Z contains the (scaled) r-th column of the inverse. The scaling is such that Z(R) equals 1.
β WANTNC β
WANTNC is LOGICAL. Specifies whether NEGCNT has to be computed.
β NEGCNT β
NEGCNT is INTEGER. If WANTNC is .TRUE. then NEGCNT = the number of pivots < pivmin in the matrix factorization L D L**T, and NEGCNT = -1 otherwise.
β ZTZ β
ZTZ is REAL. The square of the 2-norm of Z.
β MINGMA β
MINGMA is REAL. The reciprocal of the largest (in magnitude) diagonal element of the inverse of L D L**T - sigma I.
β R β
R is INTEGER. The twist index for the twisted factorization used to compute Z.
On input, 0 <= R <= N. If R is input as 0, R is set to the index where (L D L**T - sigma I)^{-1} is largest in magnitude. If 1 <= R <= N, R is unchanged.
On output, R contains the twist index used to compute Z. Ideally, R designates the position of the maximum entry in the eigenvector.
β ISUPPZ β
ISUPPZ is INTEGER array, dimension (2). The support of the vector in Z, i.e., the vector Z is nonzero only in elements ISUPPZ(1) through ISUPPZ( 2 ).
β NRMINV β
NRMINV is REAL. NRMINV = 1/SQRT( ZTZ )
β RESID β
RESID is REAL. The residual of the FP vector. RESID = ABS( MINGMA )/SQRT( ZTZ )
β RQCORR β
RQCORR is REAL. The Rayleigh Quotient correction to LAMBDA. RQCORR = MINGMA*TMP
β WORK β
WORK is REAL array, dimension (4*N).
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π«Ά Contributors: π«Ά
- Beresford Parlett, University of California, Berkeley, USA
- Jim Demmel, University of California, Berkeley, USA
- Inderjit Dhillon, University of Texas, Austin, USA
- Osni Marques, LBNL/NERSC, USA
- Christof Voemel, University of California, Berkeley, USA
π§ Definition π§
Definition at line 227 of file slar1v.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page β LAPACK Version 3.12.0, file slar1v.f(3), from the Library Functions Manual. no date listed on this footer, so I'm not inventing one π
now go compute that (scaled) r-th column with main-character energy πβ¨
π¦ 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