Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?latm5

Generates matrices involved in the Generalized Sylvester equation.

Syntax

void slatm5 (*prtype, lapack_int *m, lapack_int *n, float *a, lapack_int *lda, float *b, lapack_int *ldb, float *c, lapack_int *ldc, float *d, lapack_int *ldd, float *e, lapack_int *lde, float *f, lapack_int *ldf, float *r, lapack_int *ldr, float *l, lapack_int *ldl, float *alpha, lapack_int *qblcka, lapack_int *qblckb);

void dlatm5 (*prtype, lapack_int *m, lapack_int *n, double *a, lapack_int *lda, double *b, lapack_int *ldb, double *c, lapack_int *ldc, double *d, lapack_int *ldd, double *e, lapack_int *lde, double *f, lapack_int *ldf, double *r, lapack_int *ldr, double *l, lapack_int *ldl, double *alpha, lapack_int *qblcka, lapack_int *qblckb);

void clatm5 (*prtype, lapack_int *m, lapack_int *n, lapack_complex_float *a, lapack_int *lda, lapack_complex_float *b, lapack_int *ldb, lapack_complex_float *c, lapack_int *ldc, lapack_complex_float *d, lapack_int *ldd, lapack_complex_float *e, lapack_int *lde, lapack_complex_float *f, lapack_int *ldf, lapack_complex_float *r, lapack_int *ldr, lapack_complex_float *l, lapack_int *ldl, float *alpha, lapack_int *qblcka, lapack_int *qblckb);

void zlatm5 (*prtype, lapack_int *m, lapack_int *n, lapack_complex_double *a, lapack_int *lda, lapack_complex_double *b, lapack_int *ldb, lapack_complex_double *c, lapack_int *ldc, lapack_complex_double *d, lapack_int *ldd, lapack_complex_double *e, lapack_int *lde, lapack_complex_double *f, lapack_int *ldf, lapack_complex_double *r, lapack_int *ldr, lapack_complex_double *l, lapack_int *ldl, float *alpha, lapack_int *qblcka, lapack_int *qblckb);

Include Files
  • mkl.h
Description

The ?latm5 routine generates matrices involved in the Generalized Sylvester equation:

A * R - L * B = C

D * R - L * E = F

They also satisfy the diagonalization condition:

Input Parameters
prtype

Specifies the type of matrices to generate.

  • If prtype = 1, A and B are Jordan blocks, D and E are identity matrices.

    A:

    If (i == j) then Ai, j = 1.0.

    If (j == i + 1) then Ai, j = -1.0.

    Otherwise Ai, j = 0.0, i, j = 1...m

    B:

    If (i == j) then Bi, j = 1.0 - alpha.

    If (j == i + 1) then Bi, j = 1.0 .

    Otherwise Bi, j = 0.0, i, j = 1...n.

    D:

    If (i == j) then Di, j = 1.0.

    Otherwise Di, j = 0.0, i, j = 1...m.

    E:

    If (i == j) then Ei, j = 1.0

    Otherwise Ei, j = 0.0, i, j = 1...n.

    L = R are chosen from [-10...10], which specifies the right hand sides (C, F).

  • If prtype = 2 or 3: Triangular and/or quasi- triangular.

    A:

    If (ij) then Ai, j = [-1...1].

    Otherwise Ai, j = 0.0, i, j = 1...M.

    If (prtype = 3) then Ak + 1, k + 1 = Ak, k;

    Ak + 1, k = [-1...1];

    sign(Ak, k + 1) = -(sign(Ak + 1, k).

    k = 1, m- 1, qblcka

    B :

    If (ij) then Bi, j = [-1...1].

    Otherwise Bi, j = 0.0, i, j = 1...n.

    If (prtype = 3) thenBk + 1, k + 1 = Bk, k

    Bk + 1, k = [-1...1]

    sign(Bk, k + 1)= -(sign(Bk + 1, k)

    k = 1, n - 1, qblckb.

    D:

    If (ij) then Di, j = [-1...1].

    Otherwise Di, j = 0.0, i, j = 1...m.

    E:

    If (i <= j) then Ei, j = [-1...1].

    Otherwise Ei, j = 0.0, i, j = 1...N.

    L, R are chosen from [-10...10], which specifies the right hand sides (C, F).

  • If prtype = 4 Full

       Ai, j = [-10...10]

       Di, j = [-1...1] i,j = 1...m

       Bi, j = [-10...10]

       Ei, j = [-1...1] i,j = 1...n

       Ri, j = [-10...10]

       Li, j = [-1...1] i = 1..m ,j = 1...n

    L and R specifies the right hand sides (C, F).

  • If prtype = 5 special case common and/or close eigs.

m

Specifies the order of A and D and the number of rows in C, F, R and L.

n

Specifies the order of B and E and the number of columns in C, F, R and L.

lda

The leading dimension of a.

ldb

The leading dimension of b.

ldc

The leading dimension of c.

ldd

The leading dimension of d.

lde

The leading dimension of e.

ldf

The leading dimension of f.

ldr

The leading dimension of r.

ldl

The leading dimension of l.

alpha

Parameter used in generating prtype = 1 and 5 matrices.

qblcka

When prtype = 3, specifies the distance between 2-by-2 blocks on the diagonal in A. Otherwise, qblcka is not referenced. qblcka > 1.

qblckb

When prtype = 3, specifies the distance between 2-by-2 blocks on the diagonal in B. Otherwise, qblckb is not referenced. qblckb > 1.

Output Parameters
a

Array, size lda*m. On exit a contains them-by-m array A initialized according to prtype.

b

Array, size ldb*n. On exit b contains the n-by-n array B initialized according to prtype.

c

Array, size ldc*n. On exit c contains the m-by-n array C initialized according to prtype.

d

Array, size ldd*m. On exit d contains the m-by-m array D initialized according to prtype.

e

Array, size lde*n. On exit e contains the n-by-n array E initialized according to prtype.

f

Array, size ldf*n. On exit f contains the m-by-n array F initialized according to prtype.

r

Array, size ldr*n. On exit R contains the m-by-n array R initialized according to prtype.

l

Array, size ldl*n. On exit l contains the m-by-narray L initialized according to prtype.