/home/abui...N/slatm5.f(3)
πΈ NAME πΈ
Hey bestie π the manual name is /home/abui...N/slatm5.f(3) β folded in right here so we're not doing the double-header thing. This is a Library Functions Manual page, and the actual NAME-section path is:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/slatm5.f
That's it, that's the name, periodt β¨.
β¨ SYNOPSIS β¨
Functions/Subroutines
subroutine SLATM5 (prtype, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde,
f, ldf, r, ldr, l, ldl, alpha, qblcka, qblckb)
SLATM5
π Function/Subroutine Documentation π
subroutine SLATM5 (integer prtype, integer m, integer n, real, dimension(
lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb, real,
dimension( ldc, * ) c, integer ldc, real, dimension( ldd, * ) d, integer
ldd, real, dimension( lde, * ) e, integer lde, real, dimension( ldf, * )
f, integer ldf, real, dimension( ldr, * ) r, integer ldr, real,
dimension( ldl, * ) l, integer ldl, real alpha, integer qblcka, integer
qblckb)
SLATM5
Purpose
Okay so SLATM5 generates matrices involved in the Generalized Sylvester equation:
A * R - L * B = C
D * R - L * E = F
They also satisfy (the diagonalization condition):
[ I -L ] ( [ A -C ], [ D -F ] ) [ I R ] = ( [ A ], [ D ] )
[ I ] ( [ B ] [ E ] ) [ I ] ( [ B ] [ E ] )
Parameters
PRTYPE
PRTYPE is INTEGER β it selects a certain type of the matrices to generate (see Further Details, bestie).
M
M is INTEGER β Specifies the order of A and D and the number of rows in C, F, R and L.
N
N is INTEGER β Specifies the order of B and E and the number of columns in C, F, R and L.
A
A is REAL array, dimension (LDA, M). On exit A M-by-M is initialized according to PRTYPE.
LDA
LDA is INTEGER β The leading dimension of A.
B
B is REAL array, dimension (LDB, N). On exit B N-by-N is initialized according to PRTYPE.
LDB
LDB is INTEGER β The leading dimension of B.
C
C is REAL array, dimension (LDC, N). On exit C M-by-N is initialized according to PRTYPE.
LDC
LDC is INTEGER β The leading dimension of C.
D
D is REAL array, dimension (LDD, M). On exit D M-by-M is initialized according to PRTYPE.
LDD
LDD is INTEGER β The leading dimension of D.
E
E is REAL array, dimension (LDE, N). On exit E N-by-N is initialized according to PRTYPE.
LDE
LDE is INTEGER β The leading dimension of E.
F
F is REAL array, dimension (LDF, N). On exit F M-by-N is initialized according to PRTYPE.
LDF
LDF is INTEGER β The leading dimension of F.
R
R is REAL array, dimension (LDR, N). On exit R M-by-N is initialized according to PRTYPE.
LDR
LDR is INTEGER β The leading dimension of R.
L
L is REAL array, dimension (LDL, N). On exit L M-by-N is initialized according to PRTYPE.
LDL
LDL is INTEGER β The leading dimension of L.
ALPHA
ALPHA is REAL β Parameter used in generating PRTYPE = 1 and 5 matrices.
QBLCKA
QBLCKA is INTEGER β When PRTYPE = 3, specifies the distance between 2-by-2 blocks on the diagonal in A. Otherwise, QBLCKA is not referenced. QBLCKA > 1.
QBLCKB
QBLCKB is INTEGER β When PRTYPE = 3, specifies the distance between 2-by-2 blocks on the diagonal in B. Otherwise, QBLCKB is not referenced. QBLCKB > 1.
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Further Details
PRTYPE = 1: A and B are Jordan blocks, D and E are identity matrices.
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 = 2 or 3: Triangular and/or quasi- triangular.
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).
PRTYPE = 4 Full
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.
Bestie, I did not βfixβ thesinor theEline that saysDβ that's literally what the source says, and I am not out here rewriting LAPACK lore π .
Definition at line
Definition at line 265 of file slatm5.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Okay bestie, that's the whole page π Final footer vibe: LAPACK Version 3.12.0 and /home/abui...N/slatm5.f(3). Go generate those matrices and slay β¨π.
π¦ 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