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_intLAPACKE_slagsy ( intmatrix_layout , lapack_intn , lapack_intk , constfloat*d , float*a , lapack_intlda , lapack_int*iseed );
lapack_intLAPACKE_dlagsy ( intmatrix_layout , lapack_intn , lapack_intk , constdouble*d , double*a , lapack_intlda , lapack_int*iseed );
lapack_intLAPACKE_clagsy ( intmatrix_layout , lapack_intn , lapack_intk , constfloat*d , lapack_complex_float*a , lapack_intlda , lapack_int*iseed );
lapack_intLAPACKE_zlagsy ( intmatrix_layout , lapack_intn , lapack_intk , constdouble*d , lapack_complex_double*a , lapack_intlda , lapack_int*iseed );
Include Files
mkl.h
Description
slagsy dlagsy clagsy zlagsy
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
The order of the matrix A ( n≥ 0 ).
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.