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

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

πŸ’… clatm5.f(3) β€” Library Functions Manual ✨

Okay so this is the Library Functions Manual page for clatm5.f(3), bestie. It's giving very specific LAPACK matrix-generation energy, and we're gonna get into every single detail 🫢


🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/clatm5.f


πŸ¦‹ SYNOPSIS πŸ¦‹

✨ Functions/Subroutines ✨

subroutine CLATM5 (prtype, m, n, a, lda, b, ldb, c, ldc, d, ldd, e, lde,
    f, ldf, r, ldr, l, ldl, alpha, qblcka, qblckb)
    CLATM5

πŸ‘‘ Function/Subroutine Documentation πŸ‘‘

subroutine CLATM5 (integer prtype, integer m, integer n, complex, dimension(
    lda, * ) a, integer lda, complex, dimension( ldb, * ) b, integer ldb,
    complex, dimension( ldc, * ) c, integer ldc, complex, dimension( ldd, *
    ) d, integer ldd, complex, dimension( lde, * ) e, integer lde, complex,
    dimension( ldf, * ) f, integer ldf, complex, dimension( ldr, * ) r,
    integer ldr, complex, dimension( ldl, * ) l, integer ldl, real alpha,
    integer qblcka, integer qblckb)

CLATM5 β€” that's the whole subroutine name, periodt πŸ’…

πŸŽ€ Purpose πŸŽ€

CLATM5 generates matrices involved in the Generalized Sylvester equation, bestie:

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 tells CLATM5 which certain type of matrices to generate (see further details, iykyk).
  • 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 COMPLEX 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 COMPLEX 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 COMPLEX 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 COMPLEX 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 COMPLEX 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 COMPLEX 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 COMPLEX 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 COMPLEX 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.


Definition at line 265 of file clatm5.f.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for LAPACK from the source code.


That's the whole page, bestie πŸ’– This is LAPACK Version 3.12.0, and the path at the end is /home/abui...N/clatm5.f(3). Slay and stay matrix-y βœ¨πŸŽ€

πŸ“¦ where this page comes from