Developer Reference for Intel® oneAPI Math Kernel Library for C
?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
slatm6 dlatm6 clatm6 zlatm6
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
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 , Weighting constants for matrix A .
- wx
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 , Constant for right eigenvector matrix.
- wy
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 , Constant for left eigenvector matrix.
Output Parameters
- a
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 ,
Array, size (lda, n)lda * n . On exit, a contains the n -by- n matrix initialized according to type .
- b
-
REAL for slatm26 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 ,
Array, size (lda, n)lda * n . On exit, b contains the n -by- n matrix initialized according to type .
- x
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 ,
Array, size (ldx, n)ldx * n . On exit, x contains the n -by- n matrix of right eigenvectors.
- y
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , COMPLEX for clatm6 , DOUBLE COMPLEX for zlatm6 ,
Array, size (ldy, n)ldy * n . On exit, y is the n -by- n matrix of left eigenvectors.
- s
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , REAL for clatm6 , DOUBLE PRECISION for zlatm6 , Array, size ( n ). s(i )[i - 1] is the reciprocal condition number for eigenvalue i .
- dif
-
REAL for slatm6 , DOUBLE PRECISION for dlatm6 , REAL for clatm6 , DOUBLE PRECISION for zlatm6 , Array, size( n ). dif(i )[i - 1] is the reciprocal condition number for eigenvector i .