/home/abui...N/dlatm5.f(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

πŸ¦‹ 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 = F They 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 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION 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 DOUBLE PRECISION. 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. ⚠️
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: A and B are Jordan blocks, D and E are identity matrices text 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. 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, the E block literally says D(i, j) β€” I'm just the messenger, I don't write the source code, I only vibe with it 😭)
PRTYPE = 4 Full text 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