# clatm5.f - Man Page

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**

**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 '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 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.

## Referenced By

The man page clatm5(3) is an alias of clatm5.f(3).

Tue Nov 28 2023 12:08:43 Version 3.12.0 LAPACK