/home/abui...N/dlatm5.f(3)
π¦ DLATM5 β the matrix maker π
okay so this little icon is straight out of the Library Functions Manual, and her whole gov job is generating matrices for the generalized Sylvester equation. no cap, she's a builder. β¨
The full path of this file is literally:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/dlatm5.f
it's giving β¨deeply nestedβ¨ but that's just how the LAPACK build tree rolls, bestie. π
πΈ SYNOPSIS πΈ
Functions/Subroutines π«Ά
subroutine DLATM5 (prtype, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde,
f, ldf, r, ldr, l, ldl, alpha, qblcka, qblckb)
DLATM5
π Function/Subroutine Documentation π
subroutine DLATM5 (integer prtype, integer m, integer n, double precision,
dimension( lda, * ) a, integer lda, double precision, dimension( ldb, *
) b, integer ldb, double precision, dimension( ldc, * ) c, integer ldc,
double precision, dimension( ldd, * ) d, integer ldd, double precision,
dimension( lde, * ) e, integer lde, double precision, dimension( ldf, *
) f, integer ldf, double precision, dimension( ldr, * ) r, integer ldr,
double precision, dimension( ldl, * ) l, integer ldl, double precision
alpha, integer qblcka, integer qblckb)
DLATM5
π Purpose: π
DLATM5 generates matrices involved in the Generalized Sylvester equation:text A * R - L * B = C D * R - L * E = FThey also satisfy (the diagonalization condition)text [ I -L ] ( [ A -C ], [ D -F ] ) [ I R ] = ( [ A ], [ D ] ) [ I ] ( [ B ] [ E ] ) [ I ] ( [ B ] [ E ] )
like, she doesn't just make matrices, she makes matrices that behave. main character energy fr fr. π₯
π Parameters π
PRTYPEβPRTYPE is INTEGER, and it points to a certain type of the matrices to generate (see further details, bestie, there's a whole section for this π).MβM is INTEGER. Specifies the order ofAandDand the number of rows inC,F,RandL. πNβN is INTEGER. Specifies the order ofBandEand the number of columns inC,F,RandL. πAβA is DOUBLE PRECISION array, dimension (LDA, M). On exit,AM-by-Mis initialized according toPRTYPE. π«LDAβLDA is INTEGER. The leading dimension ofA.BβB is DOUBLE PRECISION array, dimension (LDB, N). On exit,BN-by-Nis initialized according toPRTYPE. π«LDBβLDB is INTEGER. The leading dimension ofB.CβC is DOUBLE PRECISION array, dimension (LDC, N). On exit,CM-by-Nis initialized according toPRTYPE. π«LDCβLDC is INTEGER. The leading dimension ofC.DβD is DOUBLE PRECISION array, dimension (LDD, M). On exit,DM-by-Mis initialized according toPRTYPE. π«LDDβLDD is INTEGER. The leading dimension ofD.EβE is DOUBLE PRECISION array, dimension (LDE, N). On exit,EN-by-Nis initialized according toPRTYPE. π«LDEβLDE is INTEGER. The leading dimension ofE.FβF is DOUBLE PRECISION array, dimension (LDF, N). On exit,FM-by-Nis initialized according toPRTYPE. π«LDFβLDF is INTEGER. The leading dimension ofF.RβR is DOUBLE PRECISION array, dimension (LDR, N). On exit,RM-by-Nis initialized according toPRTYPE. π«LDRβLDR is INTEGER. The leading dimension ofR.LβL is DOUBLE PRECISION array, dimension (LDL, N). On exit,LM-by-Nis initialized according toPRTYPE. π«LDLβLDL is INTEGER. The leading dimension ofL.ALPHAβALPHA is DOUBLE PRECISION. Parameter used in generatingPRTYPE = 1and5matrices. πQBLCKAβQBLCKA is INTEGER. WhenPRTYPE = 3, specifies the distance between 2-by-2 blocks on the diagonal inA. Otherwise,QBLCKAis not referenced.QBLCKA > 1. β οΈQBLCKBβQBLCKB is INTEGER. WhenPRTYPE = 3, specifies the distance between 2-by-2 blocks on the diagonal inB. Otherwise,QBLCKBis not referenced.QBLCKB > 1. β οΈ
side note bestie: those last two are NOT referenced unless PRTYPE = 3, so don't come for me if they do nothing. π
π§ Author π§
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
the whole squad showed up for this one π«Άπ
β Further Details: β
PRTYPE = 1:AandBare Jordan blocks,DandEare identity matricestext A : if (i == j) then A(i, j) = 1.0 if (j == i + 1) then A(i, j) = -1.0 else A(i, j) = 0.0, i, j = 1...M B : if (i == j) then B(i, j) = 1.0 - ALPHA if (j == i + 1) then B(i, j) = 1.0 else B(i, j) = 0.0, i, j = 1...N D : if (i == j) then D(i, j) = 1.0 else D(i, j) = 0.0, i, j = 1...M E : if (i == j) then E(i, j) = 1.0 else E(i, j) = 0.0, i, j = 1...N L = R are chosen from [-10...10], which specifies the right hand sides (C, F).
PRTYPE = 2or3: Triangular and/or quasi- triangular.text A : if (i <= j) then A(i, j) = [-1...1] else A(i, j) = 0.0, i, j = 1...M if (PRTYPE = 3) then A(k + 1, k + 1) = A(k, k) A(k + 1, k) = [-1...1] sign(A(k, k + 1) = -(sin(A(k + 1, k)) k = 1, M - 1, QBLCKA B : if (i <= j) then B(i, j) = [-1...1] else B(i, j) = 0.0, i, j = 1...N if (PRTYPE = 3) then B(k + 1, k + 1) = B(k, k) B(k + 1, k) = [-1...1] sign(B(k, k + 1) = -(sign(B(k + 1, k)) k = 1, N - 1, QBLCKB D : if (i <= j) then D(i, j) = [-1...1]. else D(i, j) = 0.0, i, j = 1...M E : if (i <= j) then D(i, j) = [-1...1] else E(i, j) = 0.0, i, j = 1...N L, R are chosen from [-10...10], which specifies the right hand sides (C, F).(and yes, theEblock literally saysD(i, j)β I'm just the messenger, I don't write the source code, I only vibe with it π)
PRTYPE = 4Fulltext A(i, j) = [-10...10] D(i, j) = [-1...1] i,j = 1...M B(i, j) = [-10...10] E(i, j) = [-1...1] i,j = 1...N R(i, j) = [-10...10] L(i, j) = [-1...1] i = 1..M ,j = 1...N L, R specifies the right hand sides (C, F).
PRTYPE = 5 special case common and/or close eigs. πΈ
Definition at line 265 of file dlatm5.f. π
π Author π
Generated automatically by Doxygen for LAPACK from the source code. (not me writing a heartfelt paragraph, a robot did this, and honestly? she ate. π€β¨)
and that's the whole page bestie β LAPACK, Version 3.12.0, closing out at /home/abui...N/dlatm5.f(3). slay, go generate some matrices, ily π
ππ
π¦ 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