Developer Reference for Intel® oneAPI Math Kernel Library for C
?large
Pre- and post-multiplies a real general matrix with a random orthogonal matrix.
Syntax
void slarge(lapack_int *n, float *a, lapack_int *lda, lapack_int *iseed, float *work,
lapack_int *info);
void dlarge(lapack_int *n, double *a, lapack_int *lda, lapack_int *iseed, double *work,
lapack_int *info);
void clarge(lapack_int *n, lapack_complex *a, lapack_int *lda, lapack_int *iseed,
lapack_complex *work, lapack_int *info);
void zlarge(lapack_int *n, lapack_complex_double *a, lapack_int *lda, lapack_int *iseed,
lapack_complex_double *work, lapack_int *info);
Include Files
mkl.h
Description
The routine ?large pre- and post-multiplies a general n -by- n matrix A with a random orthogonal or unitary matrix: A = U * D * UT .
Input Parameters
- n
-
Specifies the order of the matrix A . The value of n must be at least zero.
- a
-
REAL for slarge , DOUBLE PRECISION for dlarge , COMPLEX for clarge , DOUBLE COMPLEX for zlarge , Array, size lda by n . On entry, the original n -by- n matrix A .
lda
The leading dimension of the array a . lda ≥ n .
iseed
Array, size 4.
On entry, the seed of the random number generator. The array elements must be between 0 and 4095, and iseed(4)[3] must be odd.
- work
-
REAL for slarge , DOUBLE PRECISION for dlarge , COMPLEX for clarge , DOUBLE COMPLEX for zlarge , Workspace array, size 2* n .
Output Parameters
- a
-
INTEGER . On exit, A is overwritten by U * A * U' for some random orthogonal matrix U .
- iseed
-
INTEGER . On exit, the seed is updated.
info
INTEGER .
If info = 0 , the execution is successful.
If info < 0 , the i -th parameter had an illegal value.