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 β€” ILQ is LOGICAL. Determines whether or not to update the matrix Q. πŸ’–
  • ILZ β€” ILZ is LOGICAL. Determines whether or not to update the matrix Z. πŸ’«
  • K β€” K is INTEGER. 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 β€” ISTARTM is INTEGER. that's literally all the source says here, bestie β€” no extra description, no hidden lore. 🫢
  • ISTOPM β€” ISTOPM is INTEGER. Updates to (A,B) are restricted to (istartm:k+3,k:istopm). It is assumed without checking that istartm <= k+1 and k+2 <= istopm. so yeah, that assumption is doing a lot of heavy lifting 😭
  • IHI β€” IHI is INTEGER. no further description in the source, just integer vibes. πŸ’€
  • A β€” A is DOUBLE PRECISION array, dimension (LDA,N). ⭐
  • LDA β€” LDA is INTEGER. The leading dimension of A as declared in the calling procedure. πŸŽ€
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,N). 🌸
  • LDB β€” LDB is INTEGER. The leading dimension of B as declared in the calling procedure. πŸ¦‹
  • NQ β€” NQ is INTEGER. The order of the matrix Q. πŸ‘‘
  • QSTART β€” QSTART is INTEGER. Start index of the matrix Q. Rotations are applied To columns k+2-qStart:k+4-qStart of Q. (capital T on β€œTo” is in the source, we're keeping it exactly, no cap πŸ‘€)
  • Q β€” Q is DOUBLE PRECISION array, dimension (LDQ,NQ). πŸ’œ
  • LDQ β€” LDQ is INTEGER. The leading dimension of Q as declared in the calling procedure. ✨
  • NZ β€” NZ is INTEGER. The order of the matrix Z. 🌈
  • ZSTART β€” ZSTART is INTEGER. Start index of the matrix Z. Rotations are applied To columns k+1-qStart:k+3-qStart of Z. (yes, it says qStart in the Z description β€” copying that exactly too 🫢)
  • Z β€” Z is DOUBLE PRECISION array, dimension (LDZ,NZ). πŸ“
  • LDZ β€” LDZ is INTEGER. 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