SLASQ2(3)
π SLASQ2 π
okay so bestie, welcome to the Library Functions Manual page for slasq2.f(3) β aka SLASQ2, aka the high-relative-accuracy eigenvalue moment. It's giving LAPACK-core, qd-array main character energy, and we're gonna read the whole thing together π«Ά
π NAME π
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slasq2.f
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine SLASQ2 (n, z, info)
SLASQ2 computes all the eigenvalues of the symmetric positive definite tridiagonal matrix associated with the qd Array Z to high relative accuracy. Used by sbdsqr and sstegr π
π¦ Function/Subroutine Documentation π¦
subroutine SLASQ2 (integer n, real, dimension( * ) z, integer info)
SLASQ2 computes all the eigenvalues of the symmetric positive definite tridiagonal matrix associated with the qd Array Z to high relative accuracy. Used by sbdsqr and sstegr. No cap, that's the whole serve β¨
π Purpose π
okay so the purpose is literally: SLASQ2 computes all the eigenvalues of the symmetric positive definite tridiagonal matrix associated with the qd array Z to high relative accuracy β and those eigenvalues are computed to high relative accuracy in the absence of denormalization, underflow and overflow. It's that serious, bestie π
To see the relation of Z to the tridiagonal matrix, let L be a unit lower bidiagonal matrix with subdiagonals Z(2,4,6,,..) and let U be an upper bidiagonal matrix with 1's above and diagonal Z(1,3,5,,..). The tridiagonal is L*U or, if you prefer, the symmetric tridiagonal to which it is similar π
Note:SLASQ2defines a logical variable,IEEE, which is true on machines which follow ieee-754 floating-point standard in their handling of infinities and NaNs, and false otherwise. This variable is passed toSLASQ3.
π«Ά Parameters π«Ά
NβNisINTEGER. It's the number of rows and columns in the matrix.N >= 0.ZβZisREAL array, dimension ( 4*N ). On entryZholds the qd array. On exit, entries1toNhold the eigenvalues in decreasing order,Z( 2*N+1 )holds the trace, andZ( 2*N+2 )holds the sum of the eigenvalues. IfN > 2, thenZ( 2*N+3 )holds the iteration count,Z( 2*N+4 )holdsNDIVS/NIN^2, andZ( 2*N+5 )holds the percentage of shifts that failed.INFOβINFOisINTEGER.= 0: successful exit< 0: if the i-th argument is a scalar and had an illegal value, thenINFO = -i; if the i-th argument is an array and the j-entry had an illegal value, thenINFO = -(i*100+j)> 0: the algorithm failed= 1: a split was marked by a positive value inE= 2: current block ofZnot diagonalized after100*Niterations (in inner while loop). On exitZholds a qd array with the same eigenvalues as the givenZ.= 3: termination criterion of outer while loop not met (program created more thanNunreduced blocks)
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Further Details π
- Local Variables:
I0:N0defines a current unreduced segment ofZ. - The shifts are accumulated in
SIGMA. - Iteration count is in
ITER. - Ping-pong is controlled by
PP(alternates between0and1).
Definition at line 111 of file slasq2.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page π stay accurate, stay high-relative, and remember the qd array is literally the moment. This footer is giving LAPACK Version 3.12.0 and page path /home/abui...RC/slasq2.f(3) β no date listed, so no invented date, periodt β¨
π¦ 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