Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

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

Document Table of Contents

?latm6

Generates test matrices for the generalized eigenvalue problem, their corresponding right and left eigenvector matrices, and also reciprocal condition numbers for all eigenvalues and the reciprocal condition numbers of eigenvectors corresponding to the 1th and 5th eigenvalues.

Syntax

void slatm6 (lapack_int *type, lapack_int *n, float *a, lapack_int *lda, float *b, float *x, lapack_int *ldx, float *y, lapack_int *ldy, float *alpha, float *beta, float *wx, float *wy, float *s, float *dif);

void dlatm6 (lapack_int *type, lapack_int *n, double *a, lapack_int *lda, double *b, double *x, lapack_int *ldx, double *y, lapack_int *ldy, double *alpha, double *beta, double *wx, double *wy, double *s, double *dif);

void clatm6 (lapack_int *type, lapack_int *n, lapack_complex_float *a, lapack_int *lda, lapack_complex_float *b, lapack_complex_float *x, lapack_int *ldx, lapack_complex_float *y, lapack_int *ldy, lapack_complex_float *alpha, lapack_complex_float *beta, lapack_complex_float *wx, lapack_complex_float *wy, float *s, float *dif);

void zlatm6 (lapack_int *type, lapack_int *n, lapack_complex_double *a, lapack_int *lda, lapack_complex_double *b, lapack_complex_double *x, lapack_int *ldx, lapack_complex_double *y, lapack_int *ldy, lapack_complex_double *alpha, lapack_complex_double *beta, lapack_complex_double *wx, lapack_complex_double *wy, double *s, double *dif);

Include Files

  • mkl.h

Description

The ?latm6 routine generates test matrices for the generalized eigenvalue problem, their corresponding right and left eigenvector matrices, and also reciprocal condition numbers for all eigenvalues and the reciprocal condition numbers of eigenvectors corresponding to the 1th and 5th eigenvalues.

There two kinds of test matrix pairs:

       (A, B)= inverse(YH) * (Da, Db) * inverse(X)

Type 1:

Type 2:

In both cases the same inverse(YH) and inverse(X) are used to compute (A, B), giving the exact eigenvectors to (A,B) as (YH, X):

,

where a, b, x and y will have all values independently of each other.

Input Parameters

type

Specifies the problem type.

n

Size of the matrices A and B.

lda

The leading dimension of a and of b.

ldx

The leading dimension of x.

ldy

The leading dimension of y.

alpha, beta

Weighting constants for matrix A.

wx

Constant for right eigenvector matrix.

wy

Constant for left eigenvector matrix.

Output Parameters

a

Array, size lda*n. On exit, a contains the n-by-n matrix initialized according to type.

b

Array, size lda*n. On exit, b contains the n-by-n matrix initialized according to type.

x

Array, size ldx*n. On exit, x contains the n-by-n matrix of right eigenvectors.

y

Array, size ldy*n. On exit, y is the n-by-n matrix of left eigenvectors.

s

Array, size (n). s[i - 1] is the reciprocal condition number for eigenvalue i .

dif

Array, size(n). dif[i - 1] is the reciprocal condition number for eigenvector i .