Developer Reference for Intel® oneAPI Math Kernel Library for C
?laghe
Generates a complex Hermitian matrix .
Syntax
lapack_int LAPACKE_claghe(int matrix_layout, lapack_int n, lapack_int k, const float *d,
lapack_complex_float *a, lapack_int lda, lapack_int *iseed);
lapack_int LAPACKE_zlaghe(int matrix_layout, lapack_int n, lapack_int k, const double *d,
lapack_complex_double *a, lapack_int lda, lapack_int *iseed);
Include Files
mkl.h
Description
The routine generates a complex Hermitian matrix A , by pre- and post- multiplying a real diagonal matrix D with random unitary matrix:
A := U*D*U^{H}
The semi-bandwidth may then be reduced to k by additional unitary transformations.
Input Parameters
A <datatype> placeholder, if present, is used for the C interface data types in the C interface section above. See C Interface Conventions for the C interface principal conventions and type definitions.
- matrix_layout
-
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
- n
-
Specifies the order of the matrix A . The value of n must be at least zero.
k
The number of nonzero subdiagonals within the band of A ( 0 ≤k≤n-1) .
- d
-
COMPLEX for claghe DOUBLE COMPLEX for zlaghe . The array d with the dimension of ( n ) contains the diagonal elements of the diagonal matrix D .
lda
The leading dimension of the array a ( lda≥n ).
iseed
The array iseed with the dimension of 4 contains the seed of the random number generator. The elements must be between 0 and 4095 and iseed(4)[3] must be odd.
Output Parameters
- a
-
COMPLEX for claghe DOUBLE COMPLEX for zlaghe .
The array a of size at least max (1, lda * n ) contains the generated n -by- n Hermitian matrix D .
- iseed
-
The array iseed contains the updated seed on exit.
Return Values
This function returns a value info .
If info = 0 , the execution is successful.
If info < 0 , the i -th parameter had an illegal value.
If info = -1011 , memory allocation error occurred.