SRC/dlaqz2.f(3)
okay so welcome to SRC/dlaqz2.f(3), bestie β this page lives in the Library Functions Manual and it's giving βFortran subroutine with main character energy.β it chases a little 2x2 shift bulge down one position, and yes, we're keeping every detail. periodt π
πΈ NAME πΈ
SRC/dlaqz2.f
that's the name. no notes. π
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine dlaqz2 (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb,
nq, qstart, q, ldq, nz, zstart, z, ldz)
DLAQZ2
π Function/Subroutine Documentation π
okay here's the full typed signature, copied with love and zero edits:
subroutine dlaqz2 (logical, intent(in) ilq, logical, intent(in) ilz,
integer, intent(in) k, integer, intent(in) istartm, integer, intent(in)
istopm, integer, intent(in) ihi, double precision, dimension( lda, * )
a, integer, intent(in) lda, double precision, dimension( ldb, * ) b,
integer, intent(in) ldb, integer, intent(in) nq, integer, intent(in)
qstart, double precision, dimension( ldq, * ) q, integer, intent(in)
ldq, integer, intent(in) nz, integer, intent(in) zstart, double
precision, dimension( ldz, * ) z, integer,
intent(in) ldz)
DLAQZ2
DLAQZ2
π― Purpose π―
DLAQZ2 chases a 2x2 shift bulge in a matrix pencil down a single position. that's the whole purpose, and honestly? iconic. π₯
π§Έ Parameters π§Έ
ILQβILQisLOGICAL. Determines whether or not to update the matrix Q. πILZβILZisLOGICAL. Determines whether or not to update the matrix Z. π«KβKisINTEGER. Index indicating the position of the bulge. On entry, the bulge is located in(A(k+1:k+2,k:k+1),B(k+1:k+2,k:k+1)). On exit, the bulge is located in(A(k+2:k+3,k+1:k+2),B(k+2:k+3,k+1:k+2)). πISTARTMβISTARTMisINTEGER. that's literally all the source says here, bestie β no extra description, no hidden lore. π«ΆISTOPMβISTOPMisINTEGER. Updates to(A,B)are restricted to(istartm:k+3,k:istopm). It is assumed without checking thatistartm <= k+1andk+2 <= istopm. so yeah, that assumption is doing a lot of heavy lifting πIHIβIHIisINTEGER. no further description in the source, just integer vibes. πAβAisDOUBLE PRECISIONarray, dimension(LDA,N). βLDAβLDAisINTEGER. The leading dimension of A as declared in the calling procedure. πBβBisDOUBLE PRECISIONarray, dimension(LDB,N). πΈLDBβLDBisINTEGER. The leading dimension of B as declared in the calling procedure. π¦NQβNQisINTEGER. The order of the matrix Q. πQSTARTβQSTARTisINTEGER. Start index of the matrix Q. Rotations are applied To columnsk+2-qStart:k+4-qStartof Q. (capital T on βToβ is in the source, we're keeping it exactly, no cap π)QβQisDOUBLE PRECISIONarray, dimension(LDQ,NQ). πLDQβLDQisINTEGER. The leading dimension of Q as declared in the calling procedure. β¨NZβNZisINTEGER. The order of the matrix Z. πZSTARTβZSTARTisINTEGER. Start index of the matrix Z. Rotations are applied To columnsk+1-qStart:k+3-qStartof Z. (yes, it saysqStartin the Z description β copying that exactly too π«Ά)ZβZisDOUBLE PRECISIONarray, dimension(LDZ,NZ). πLDZβLDZisINTEGER. The leading dimension of Q as declared in the calling procedure. (the source really says Q here, not Z β not me fixing it, just reporting the facts π)
ποΈ Author ποΈ
Thijs Steel, KU Leuven π
π Date π
May 2020 π
π Definition at line 172 of file dlaqz2.f π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. π€β¨
okay that's the whole page, bestie! LAPACK Version 3.12.0 made this SRC/dlaqz2.f(3) page, and the routine is dated May 2020. stay slay, and remember: the bulge is moving down exactly one position π
π
π¦ 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