SLAQZ2(3)
π SLAQZ2(3) π
okay bestie, welcome to the Library Functions Manual entry for SLAQZ2(3) β yes, the Fortran subroutine, and yes, we're gonna get through every single detail together. π«Ά
πΈ NAME πΈ
The name is literally this file path, no cap:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/slaqz2.f
β¨ SYNOPSIS β¨
π« Functions/Subroutines π«
Functions/Subroutines
subroutine SLAQZ2 (ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb,
nq, qstart, q, ldq, nz, zstart, z, ldz)
SLAQZ2
π¦ Function/Subroutine Documentation π¦
Here's the full signature with all the intent info, exactly as written:
subroutine SLAQZ2 (logical, intent(in) ilq, logical, intent(in) ilz,
integer, intent(in) k, integer, intent(in) istartm, integer, intent(in)
istopm, integer, intent(in) ihi, real, dimension( lda, * ) a, integer,
intent(in) lda, real, dimension( ldb, * ) b, integer, intent(in) ldb,
integer, intent(in) nq, integer, intent(in) qstart, real, dimension(
ldq, * ) q, integer, intent(in) ldq, integer, intent(in) nz, integer,
intent(in) zstart, real, dimension( ldz, * ) z, integer, intent(in) ldz)
Then it just says SLAQZ2 again. Iconic.
π Purpose π
Purpose, literally: SLAQZ2 chases a 2x2 shift bulge in a matrix pencil down a single position β¨
π 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 the whole description, bestie. π
ISTOPM
ISTOPM is INTEGER.
Updates to (A,B) are restricted to (istartm:k+3,k:istopm).
No cap: it is assumed without checking thatistartm <= k+1andk+2 <= istopm. So yeah, the manual is trusting you. π
IHI
IHI is INTEGER. That's it. No extra lore here. π¦
A
A is REAL array, dimension (LDA,N).
LDA
LDA is INTEGER. The leading dimension of A as declared in the calling procedure.
B
B is REAL 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.
Q
Q is REAL 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 right there in the ZSTART section β I'm not editing the manual, bestie. π
Z
Z is REAL array, dimension (LDZ,NZ).
LDZ
LDZ is INTEGER. The leading dimension of Q as declared in the calling procedure.
And yes, the manual literally says Q there for LDZ. I'm just the messenger. π
π Author π
Thijs Steel, KU Leuven
π Date π
May 2020
π§΅ Definition at line 171 of file slaqz2.f π§΅
Definition at line 171 of file slaqz2.f.
π€ Author (Doxygen's version) π€
Generated automatically by Doxygen for LAPACK from the source code.
okay that's the whole page, bestie β signing off with the footer energy: LAPACK Version 3.12.0 + /home/abui...RC/slaqz2.f(3), date May 2020. 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