TESTING/MATGEN/clatm5.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

NAME πŸ’–

TESTING/MATGEN/clatm5.f β€” okay bestie, this is the page for clatm5, and the manual name is Library Functions Manual. The full page tag is TESTING/MATGEN/clatm5.f(3). It’s giving β€œmatrix generator with main character energy” ✨

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

Purpose: πŸ’…

CLATM5 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 points to a certain type of the matrices to generate (see further details).
  • 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 is M-by-M and 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 is N-by-N and 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 is M-by-N and 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 is M-by-M and 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 is N-by-N and 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 is M-by-N and 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 is M-by-N and 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 is M-by-N and 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.


Footer sign-off, bestie: LAPACK, Version 3.12.0, TESTING/MATGEN/clatm5.f(3) β€” that’s the source/version/date line, served cute πŸ’–βœ¨

πŸ“¦ where this page comes from