lar1v(3)
π NAME π
lar1v β okay bestie, here's the whole vibe: it's a step in larrv, hence stemr & stegr. That's the name section, short and iconic. π
β¨
β¨ SYNOPSIS β¨
πΈ Functions πΈ
clar1vβCLAR1Vcomputes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. π«Ά
subroutine clar1v (n, b1, bn, lambda, d, l, ld, lld, pivmin, gaptol, z,
wantnc, negcnt, ztz, mingma, r, isuppz, nrminv, resid, rqcorr, work)
dlar1vβDLAR1Vcomputes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. π
subroutine dlar1v (n, b1, bn, lambda, d, l, ld, lld, pivmin, gaptol, z,
wantnc, negcnt, ztz, mingma, r, isuppz, nrminv, resid, rqcorr, work)
slar1vβSLAR1Vcomputes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. π
subroutine slar1v (n, b1, bn, lambda, d, l, ld, lld, pivmin, gaptol, z,
wantnc, negcnt, ztz, mingma, r, isuppz, nrminv, resid, rqcorr, work)
zlar1vβZLAR1Vcomputes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. π
subroutine zlar1v (n, b1, bn, lambda, d, l, ld, lld, pivmin, gaptol, z,
wantnc, negcnt, ztz, mingma, r, isuppz, nrminv, resid, rqcorr, work)
π« Detailed Description π«
The source page keeps this bit super chill: no extra prose before the function docs, just the section heading and then we're moving. No cap. β¨
π Function Documentation π
πΈ subroutine clar1v πΈ
subroutine clar1v (integer n, integer b1, integer bn, real lambda, real,
dimension( * ) d, real, dimension( * ) l, real, dimension( * ) ld, real,
dimension( * ) lld, real pivmin, real gaptol, complex, dimension( * ) z,
logical wantnc, integer negcnt, real ztz, real mingma, integer r,
integer, dimension( * ) isuppz, real nrminv, real resid, real rqcorr,
real, dimension( * ) work)
CLAR1V computes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. π
Purpose π«
CLAR1V computes the (scaled) r-th column of the inverse of the submatrix in rows B1 through BN of the tridiagonal matrix L D L**T - sigma I. 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:
- Stationary qd transform:
L D L**T - sigma I = L(+) D(+) L(+)**T - Progressive qd transform:
L D L**T - sigma I = U(-) D(-) U(-)**T - Computation of the diagonal elements of the inverse of
L 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. - 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βNisINTEGER. The order of the matrixL D L**T.B1βB1isINTEGER. First index of the submatrix ofL D L**T.BNβBNisINTEGER. Last index of the submatrix ofL D L**T.LAMBDAβLAMBDAisREAL. The shift. In order to compute an accurate eigenvector,LAMBDAshould be a good approximation to an eigenvalue ofL D L**T. πLβLisREAL array, dimension(N-1). The (n-1) subdiagonal elements of the unit bidiagonal matrixL, in elements 1 to N-1.DβDisREAL array, dimension(N). The n diagonal elements of the diagonal matrixD.LDβLDisREAL array, dimension(N-1). The n-1 elementsL(i)*D(i).LLDβLLDisREAL array, dimension(N-1). The n-1 elementsL(i)*L(i)*D(i).PIVMINβPIVMINisREAL. The minimum pivot in the Sturm sequence.GAPTOLβGAPTOLisREAL. Tolerance that indicates when eigenvector entries are negligible w.r.t. their contribution to the residual.ZβZisCOMPLEX array, dimension(N). On input, all entries ofZmust be set to 0. On output,Zcontains the (scaled) r-th column of the inverse. The scaling is such thatZ(R)equals 1. πWANTNCβWANTNCisLOGICAL. Specifies whetherNEGCNThas to be computed.NEGCNTβNEGCNTisINTEGER. IfWANTNCis.TRUE.thenNEGCNT= the number of pivots <pivminin the matrix factorizationL D L**T, andNEGCNT= -1 otherwise. πZTZβZTZisREAL. The square of the 2-norm ofZ.MINGMAβMINGMAisREAL. The reciprocal of the largest (in magnitude) diagonal element of the inverse ofL D L**T - sigma I.RβRisINTEGER. The twist index for the twisted factorization used to computeZ. On input,0 <= R <= N. IfRis input as 0,Ris set to the index where(L D L**T - sigma I)^{-1}is largest in magnitude. If1 <= R <= N,Ris unchanged. On output,Rcontains the twist index used to computeZ. Ideally,Rdesignates the position of the maximum entry in the eigenvector. πISUPPZβISUPPZisINTEGER array, dimension(2). The support of the vector inZ, i.e., the vectorZis nonzero only in elementsISUPPZ(1)throughISUPPZ( 2 ).NRMINVβNRMINVisREAL.NRMINV = 1/SQRT( ZTZ )RESIDβRESIDisREAL. The residual of the FP vector.RESID = ABS( MINGMA )/SQRT( ZTZ )RQCORRβRQCORRisREAL. The Rayleigh Quotient correction toLAMBDA.RQCORR = MINGMA*TMPWORKβWORKisREAL 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 at line 227 of file clar1v.f. π
π subroutine dlar1v π
subroutine dlar1v (integer n, integer b1, integer bn, double precision
lambda, double precision, dimension( * ) d, double precision, dimension(
* ) l, double precision, dimension( * ) ld, double precision, dimension(
* ) lld, double precision pivmin, double precision gaptol, double
precision, dimension( * ) z, logical wantnc, integer negcnt, double
precision ztz, double precision mingma, integer r, integer, dimension( *
) isuppz, double precision nrminv, double precision resid, double
precision rqcorr, double precision, dimension( * ) work)
DLAR1V computes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I. π
Purpose π«
DLAR1V computes the (scaled) r-th column of the inverse of the submatrix in rows B1 through BN of the tridiagonal matrix L D L**T - sigma I. 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:
- Stationary qd transform:
L D L**T - sigma I = L(+) D(+) L(+)**T - Progressive qd transform:
L D L**T - sigma I = U(-) D(-) U(-)**T - Computation of the diagonal elements of the inverse of
L 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. - 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βNisINTEGER. The order of the matrixL D L**T.B1βB1isINTEGER. First index of the submatrix ofL D L**T.BNβBNisINTEGER. Last index of the submatrix ofL D L**T.LAMBDAβLAMBDAisDOUBLE PRECISION. The shift. In order to compute an accurate eigenvector,LAMBDAshould be a good approximation to an eigenvalue ofL D L**T. πLβLisDOUBLE PRECISION array, dimension(N-1). The (n-1) subdiagonal elements of the unit bidiagonal matrixL, in elements 1 to N-1.DβDisDOUBLE PRECISION array, dimension(N). The n diagonal elements of the diagonal matrixD.LDβLDisDOUBLE PRECISION array, dimension(N-1). The n-1 elementsL(i)*D(i).LLDβLLDisDOUBLE PRECISION array, dimension(N-1). The n-1 elementsL(i)*L(i)*D(i).PIVMINβPIVMINisDOUBLE PRECISION. The minimum pivot in the Sturm sequence.GAPTOLβGAPTOLisDOUBLE PRECISION. Tolerance that indicates when eigenvector entries are negligible w.r.t. their contribution to the residual.ZβZisDOUBLE PRECISION array, dimension(N). On input, all entries ofZmust be set to 0. On output,Zcontains the (scaled) r-th column of the inverse. The scaling is such thatZ(R)equals 1. πWANTNCβ the part 1 source cuts off right after this label, bestie; part 2 picks up the rest. No invented deets. π«ΆWANTNCβLOGICAL. Tells us whetherNEGCNTactually needs to be computed. Like, do we care, or nah πNEGCNTβINTEGER. IfWANTNCis.TRUE.thenNEGCNT= the number of pivots <pivminin the matrix factorizationL D L**T, andNEGCNT= -1 otherwise.ZTZβDOUBLE PRECISION. The square of the 2-norm of Z. that's the whole vibe π«ΆMINGMAβDOUBLE PRECISION. The reciprocal of the largest (in magnitude) diagonal element of the inverse ofL D L**T - sigma I.RβINTEGER. The twist index for the twisted factorization used to compute Z. Lowkey the main character of this whole routine, fr:- 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. If1 <= 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.
- On input,
ISUPPZβINTEGER array, dimension (2). The support of the vector in Z, i.e., the vector Z is nonzero only in elementsISUPPZ(1)throughISUPPZ( 2 ). outside that range it's giving absolutely nothing π₯NRMINVβDOUBLE PRECISION.NRMINV = 1/SQRT( ZTZ )RESIDβDOUBLE PRECISION. The residual of the FP vector.RESID = ABS( MINGMA )/SQRT( ZTZ )RQCORRβDOUBLE PRECISION. The Rayleigh Quotient correction to LAMBDA.RQCORR = MINGMA*TMPWORKβDOUBLE PRECISION array, dimension (4*N). scratch space, it's a whole thing β¨
π«Ά 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 at line 227 of file dlar1v.f.
π subroutine slar1v π
okay so same routine, single precision era. iconic of her honestly. here's the signature, verbatim, no cap:
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.
π Purpose π
!>!> 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. 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.
so bestie, the tea β: when sigma gets close to an eigenvalue, the vector it spits out is a genuinely accurate eigenvector. and usually r lines up with wherever the eigenvector is biggest in magnitude. slay.
!> 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 of!> L D L**T - sigma I by combining the above transforms, and choosing!> r as 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!> the stationary and the bottom part of the progressive transform.
like literally four steps, all of them ate:
- stationary qd transform
- progressive qd transform
- combine them to get the diagonal of the inverse, then pick
rwhere that diagonal is (one of the) biggest in magnitude - twisted factorization time β top half from the stationary transform, bottom half from the progressive one β and that gives you the (scaled) r-th column of the inverse π¦
β¨ Parameters β¨
NβINTEGER. The order of the matrixL D L**T.B1βINTEGER. First index of the submatrix ofL D L**T.BNβINTEGER. Last index of the submatrix ofL D L**T.LAMBDAβREAL. The shift. In order to compute an accurate eigenvector,LAMBDAshould be a good approximation to an eigenvalue ofL D L**T. like, be a good approximation, bestie, that's the whole assignment πLβREAL array, dimension (N-1). The(n-1)subdiagonal elements of the unit bidiagonal matrix L, in elements 1 toN-1.DβREAL array, dimension (N). The n diagonal elements of the diagonal matrix D.LDβREAL array, dimension (N-1). Then-1elementsL(i)*D(i).LLDβREAL array, dimension (N-1). Then-1elementsL(i)*L(i)*D(i).PIVMINβREAL. The minimum pivot in the Sturm sequence.GAPTOLβREAL. Tolerance that indicates when eigenvector entries are negligible w.r.t. their contribution to the residual. i.e. at what point an entry is contributing nothing and can be politely ignored πZβ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 thatZ(R)equals 1.
heads up bestie: Z has to come in as all zeros. that's not a suggestion, that's the contract π«Ά
WANTNCβLOGICAL. Specifies whetherNEGCNThas to be computed.NEGCNTβINTEGER. IfWANTNCis.TRUE.thenNEGCNT= the number of pivots <pivminin the matrix factorizationL D L**T, andNEGCNT= -1 otherwise.ZTZβREAL. The square of the 2-norm of Z.MINGMAβREAL. The reciprocal of the largest (in magnitude) diagonal element of the inverse ofL D L**T - sigma I.Rβ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. If1 <= 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.
- On input,
ISUPPZβINTEGER array, dimension (2). The support of the vector in Z, i.e., the vector Z is nonzero only in elementsISUPPZ(1)throughISUPPZ( 2 ).NRMINVβREAL.NRMINV = 1/SQRT( ZTZ )RESIDβREAL. The residual of the FP vector.RESID = ABS( MINGMA )/SQRT( ZTZ )RQCORRβREAL. The Rayleigh Quotient correction to LAMBDA.RQCORR = MINGMA*TMPWORKβ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 at line 227 of file slar1v.f.
π subroutine zlar1v π
and now for the complex*16 girlypop of the family. signature, again verbatim, do not touch:
subroutine zlar1v (integer n, integer b1, integer bn, double precision
lambda, double precision, dimension( * ) d, double precision, dimension(
* ) l, double precision, dimension( * ) ld, double precision, dimension(
* ) lld, double precision pivmin, double precision gaptol, complex*16,
dimension( * ) z, logical wantnc, integer negcnt, double precision ztz,
double precision mingma, integer r, integer, dimension( * ) isuppz,
double precision nrminv, double precision resid, double precision
rqcorr, double precision, dimension( * ) work)
ZLAR1V computes the (scaled) r-th column of the inverse of the submatrix in rows b1 through bn of the tridiagonal matrix LDLT - Ξ»I.
π Purpose π
!>!> ZLAR1V 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. 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.
same deal as her sisters, no cap β sigma close to an eigenvalue means the computed vector is an accurate eigenvector, and r usually lands on the index where the eigenvector is largest in magnitude. obsessed πΈ
!> 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 of!> L D L**T - sigma I by combining the above transforms, and choosing!> r as 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!> the stationary and the bottom part of the progressive transform.
same four steps, same energy:
- stationary qd transform
- progressive qd transform
- smash them together for the diagonal of the inverse, pick
rwhere it's (one of the) biggest in magnitude - twisted factorization β top from stationary, bottom from progressive β and you get the (scaled) r-th column of the inverse β¨
π Parameters π
NβINTEGER. The order of the matrixL D L**T.B1βINTEGER. First index of the submatrix ofL D L**T.BNβINTEGER. Last index of the submatrix ofL D L**T.LAMBDAβDOUBLE PRECISION. The shift. In order to compute an accurate eigenvector,LAMBDAshould be a good approximation to an eigenvalue ofL D L**T.
okay bestie we're still in the parameter list and these next ones are literally the rest of the arguments β stay with me, we're almost at the glow-up finish line π
LβDOUBLE PRECISION array, dimension (N-1). the(n-1)subdiagonal elements of the unit bidiagonal matrixL, in elements1toN-1. she's giving "the lower lane" energy β¨DβDOUBLE PRECISION array, dimension (N). thendiagonal elements of the diagonal matrixD. main character diagonal, no cap πLDβDOUBLE PRECISION array, dimension (N-1). then-1elementsL(i)*D(i). yes bestie, multiplication is real π₯LLDβDOUBLE PRECISION array, dimension (N-1). then-1elementsL(i)*L(i)*D(i). that'sLsquared timesD, periodt πPIVMINβDOUBLE PRECISION. the minimum pivot in the Sturm sequence. tiny but iconic πGAPTOLβDOUBLE PRECISION. tolerance that indicates when eigenvector entries are negligible w.r.t. their contribution to the residual. basically the "girl, that's close enough to zero" threshold πZβCOMPLEX*16 array, dimension (N). on input, all entries ofZmust be set to0(not me stressing this, but fr fr do it). on output,Zcontains the (scaled)r-th column of the inverse. the scaling is such thatZ(R)equals1. she's serving scaled inverse column realness πWANTNCβLOGICAL. specifies whetherNEGCNThas to be computed. a little yes/no vibe check π¦NEGCNTβINTEGER. ifWANTNCis.TRUE.thenNEGCNT= the number of pivots< pivminin the matrix factorizationL D L**T, andNEGCNT = -1otherwise. math said "count the tiny pivots" and we said slay πZTZβDOUBLE PRECISION. the square of the 2-norm ofZ. norm squared, cute β¨MINGMAβDOUBLE PRECISION. the reciprocal of the largest (in magnitude) diagonal element of the inverse ofL D L**T - sigma I. yes that's a whole sentence, but it's literally the definition, so π«ΆRβINTEGER. the twist index for the twisted factorization used to computeZ. on input,0 <= R <= N. ifRis input as0,Ris set to the index where(L D L**T - sigma I)^{-1}is largest in magnitude. if1 <= R <= N,Ris unchanged. on output,Rcontains the twist index used to computeZ. ideally,Rdesignates the position of the maximum entry in the eigenvector. she's the twist index, the main character of the factorization πISUPPZβINTEGER array, dimension (2). the support of the vector inZ, i.e., the vectorZis nonzero only in elementsISUPPZ(1)throughISUPPZ( 2 ). support system but make it math πΈNRMINVβDOUBLE PRECISION.NRMINV = 1/SQRT( ZTZ ). that's a whole formula, keep it exact bestie π§RESIDβDOUBLE PRECISION. the residual of the FP vector.RESID = ABS( MINGMA )/SQRT( ZTZ ). residual said "I'm the error term" and we said iconic πRQCORRβDOUBLE PRECISION. the Rayleigh Quotient correction toLAMBDA.RQCORR = MINGMA*TMP. correction era πWORKβDOUBLE PRECISION array, dimension (4*N). workspace, but make it spacious π
π 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 at line 227 of file zlar1v.f.
π Author (again, bestie) π
Generated automatically by Doxygen for LAPACK from the source code.
later bestie! this was LAPACK version 3.12.0, page lar1v(3), and you ate that whole parameter list up π
β¨
π¦ 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