CLAQR3(3)
π CLAQR3(3) β Library Functions Manual, but make it bestie-core π
okay so first things first: this is CLAQR3(3), from the Library Functions Manual, and it's giving aggressive early deflation in the most iconic LAPACK way. No cap, we're doing linear algebra with main character energy. π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/claqr3.f β that's the file, literally, exactly as the manpage says it. π
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine CLAQR3 (wantt, wantz, n, ktop, kbot, nw, h, ldh, iloz, ihiz, z, ldz, ns, nd, sh, v, ldv, nh, t, ldt, nv, wv, ldwv, work, lwork)
CLAQR3 performs the unitary similarity transformation of a Hessenberg matrix to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation). Slay. π
π Function/Subroutine Documentation π
subroutine CLAQR3 (logical wantt, logical wantz, integer n, integer ktop, integer kbot, integer nw, complex, dimension( ldh, * ) h, integer ldh, integer iloz, integer ihiz, complex, dimension( ldz, * ) z, integer ldz, integer ns, integer nd, complex, dimension( * ) sh, complex, dimension( ldv, * ) v, integer ldv, integer nh, complex, dimension( ldt, * ) t, integer ldt, integer nv, complex, dimension( ldwv, * ) wv, integer ldwv, complex, dimension( * ) work, integer lwork)
CLAQR3 performs the unitary similarity transformation of a Hessenberg matrix to detect and deflate fully converged eigenvalues from a trailing principal submatrix (aggressive early deflation). Yes bestie, it's the same sentence and it ate. π«Ά
π Purpose: π
Aggressive early deflation, periodt. CLAQR3 accepts as input an upper Hessenberg matrix H and performs an unitary similarity transformation designed to detect and deflate fully converged eigenvalues from a trailing principal submatrix. On output H has been over-written by a new Hessenberg matrix that is a perturbation of an unitary similarity transformation of H. It is to be hoped that the final version of H has many zero subdiagonal entries. That's the whole vibe: zero subdiagonals are the goal, and we're manifesting them. β¨
π¦ Parameters π¦
WANTTβWANTT is LOGICAL. If.TRUE., then the Hessenberg matrixHis fully updated so that the triangular Schur factor may be computed (in cooperation with the calling subroutine). If.FALSE., then only enough ofHis updated to preserve the eigenvalues.WANTZβWANTZ is LOGICAL. If.TRUE., then the unitary matrixZis updated so that the unitary Schur factor may be computed (in cooperation with the calling subroutine). If.FALSE., thenZis not referenced.NβN is INTEGER. The order of the matrixHand (ifWANTZis.TRUE.) the order of the unitary matrixZ.KTOPβKTOP is INTEGER. It is assumed that eitherKTOP = 1orH(KTOP,KTOP-1)=0.KBOTandKTOPtogether determine an isolated block along the diagonal of the Hessenberg matrix.KBOTβKBOT is INTEGER. It is assumed without a check that eitherKBOT = NorH(KBOT+1,KBOT)=0.KBOTandKTOPtogether determine an isolated block along the diagonal of the Hessenberg matrix.NWβNW is INTEGER. Deflation window size.1 <= NW <= (KBOT-KTOP+1).HβH is COMPLEX array, dimension (LDH,N). On input the initialN-by-Nsection ofHstores the Hessenberg matrix undergoing aggressive early deflation. On outputHhas been transformed by a unitary similarity transformation, perturbed, and returned to Hessenberg form that (it is to be hoped) has some zero subdiagonal entries.LDHβLDH is INTEGER. Leading dimension ofHjust as declared in the calling subroutine.N <= LDH.ILOZβILOZ is INTEGER. That's the whole description, bestie. No extra lore. π«ΆIHIZβIHIZ is INTEGER. Specify the rows ofZto which transformations must be applied ifWANTZis.TRUE..1 <= ILOZ <= IHIZ <= N.ZβZ is COMPLEX array, dimension (LDZ,N). IfWANTZis.TRUE., then on output, the unitary similarity transformation mentioned above has been accumulated intoZ(ILOZ:IHIZ,ILOZ:IHIZ)from the right. IfWANTZis.FALSE., thenZis unreferenced.LDZβLDZ is INTEGER. The leading dimension ofZjust as declared in the calling subroutine.1 <= LDZ.NSβNS is INTEGER. The number of unconverged (ie approximate) eigenvalues returned inSRandSIthat may be used as shifts by the calling subroutine.NDβND is INTEGER. The number of converged eigenvalues uncovered by this subroutine.SHβSH is COMPLEX array, dimension (KBOT). On output, approximate eigenvalues that may be used for shifts are stored inSH(KBOT-ND-NS+1)throughSR(KBOT-ND). Converged eigenvalues are stored inSH(KBOT-ND+1)throughSH(KBOT). Yes, that's exactly what it says β we don't fix the source tea, we report it. πVβV is COMPLEX array, dimension (LDV,NW). AnNW-by-NWwork array.LDVβLDV is INTEGER. The leading dimension ofVjust as declared in the calling subroutine.NW <= LDV.NHβNH is INTEGER. The number of columns ofT.NH >= NW.TβT is COMPLEX array, dimension (LDT,NW).LDTβLDT is INTEGER. The leading dimension ofTjust as declared in the calling subroutine.NW <= LDT.NVβNV is INTEGER. The number of rows of work arrayWVavailable for workspace.NV >= NW.WVβWV is COMPLEX array, dimension (LDWV,NW).LDWVβLDWV is INTEGER. The leading dimension ofWjust as declared in the calling subroutine.NW <= LDV. (Yes,WandLDV, notWVandLDWVβ that's literally what the page says, bestie. π«Ά)WORKβWORK is COMPLEX array, dimension (LWORK). On exit,WORK(1)is set to an estimate of the optimal value ofLWORKfor the given values ofN,NW,KTOPandKBOT.LWORKβLWORK is INTEGER. The dimension of the work arrayWORK.LWORK = 2*NWsuffices, but greater efficiency may result from larger values ofLWORK. IfLWORK = -1, then a workspace query is assumed;CLAQR3only estimates the optimal workspace size for the given values ofN,NW,KTOPandKBOT. The estimate is returned inWORK(1). No error message related toLWORKis issued byXERBLA. NeitherHnorZare accessed.
thatLWORK = -1workspace-query moment is lowkey iconic: noXERBLAerror message, and neitherHnorZgets touched. Respect. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors: π
Karen Braman and Ralph Byers, Department of Mathematics, University of Kansas, USA
Definition at line 263 of file claqr3.f.
β Author β
Generated automatically by Doxygen for LAPACK from the source code.
okay bestie, that's the whole page π
the footer tea is LAPACK Version 3.12.0 and the source path is /home/abui...RC/claqr3.f(3). That's the source/version sign-off, and we're out. Mwah. πβ¨
π¦ 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