Developer Reference for Intel® oneAPI Math Kernel Library for C
?lagsy
Generates a symmetric matrix by pre- and post- multiplying a real diagonal matrix with a random unitary matrix .
Syntax
lapack_int LAPACKE_slagsy(int matrix_layout, lapack_int n, lapack_int k, const float *d,
float *a, lapack_int lda, lapack_int *iseed);
lapack_int LAPACKE_dlagsy(int matrix_layout, lapack_int n, lapack_int k, const double *d,
double *a, lapack_int lda, lapack_int *iseed);
lapack_int LAPACKE_clagsy(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_zlagsy(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 ?lagsy routine generates a symmetric matrix A by pre- and post- multiplying a real diagonal matrix D with a random matrix U :
A := U*D*U^{T} ,
where U is orthogonal for real flavors and unitary for complex flavors. 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.
- 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
-
REAL for slagsy , clagsy DOUBLE PRECISION for dlagsy , zlagsy . 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
-
REAL for slagsy DOUBLE PRECISION for dlagsy COMPLEX for clagsy DOUBLE COMPLEX for zlagsy .
The array a of size max (1, lda * n ) contains the generated symmetric n -by- n 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.