TESTING/MATGEN/slatm5.f(3)

๐Ÿ“ฆ
version 3.12.1 ยท 2 versions
, in arch rolling

๐Ÿ’– TESTING/MATGEN/slatm5.f(3) ๐Ÿ’–

okay so this is the Library Functions Manual page for TESTING/MATGEN/slatm5.f(3), and it's giving very serious matrix-generator business bestie. Like, we are in TESTING/MATGEN, and this page is about one subroutine that makes test matrices for the generalized Sylvester equation. No cap, it's a whole vibe. โœจ

๐ŸŒธ NAME ๐ŸŒธ

TESTING/MATGEN/slatm5.f

๐ŸŽ€ 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

The routine is SLATM5, and yes, that's the whole synopsis tea. ๐Ÿ’…

๐Ÿ› ๏ธ 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 here's the main character moment: 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 points to a certain type of the matrices to generate (see further details below).
  • 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.

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.

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

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 slatm5.f.

๐Ÿ“œ Author ๐Ÿ“œ

Generated automatically by Doxygen for LAPACK from the source code.


Cute sign-off: the footer tea is LAPACK Version 3.12.0 for page TESTING/MATGEN/slatm5.f(3) โ€” no separate date line shown there, bestie, so that's the whole stamp. mwah ๐Ÿ’…๐Ÿ’–

๐Ÿ“ฆ where this page comes from