Developer Reference for Intel® oneAPI Math Kernel Library for C
?syswapr
Applies an elementary permutation on the rows and columns of a symmetric matrix.
Syntax
lapack_intLAPACKE_ssyswapr ( intmatrix_layout , charuplo , lapack_intn , float*a , lapack_inti1 , lapack_inti2 );
lapack_intLAPACKE_dsyswapr ( intmatrix_layout , charuplo , lapack_intn , double*a , lapack_inti1 , lapack_inti2 );
lapack_intLAPACKE_csyswapr ( intmatrix_layout , charuplo , lapack_intn , lapack_complex_float*a , lapack_inti1 , lapack_inti2 );
lapack_intLAPACKE_zsyswapr ( intmatrix_layout , charuplo , lapack_intn , lapack_complex_double*a , lapack_inti1 , lapack_inti2 );
Include Files
mkl.h
Description
The routine applies an elementary permutation on the rows and columns of a symmetric matrix.
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 ).
uplo
Must be ‘U’ or ‘L’ .
Indicates how the input matrix A has been factored:
If uplo = 'U' , the array a stores the upper triangular factor U of the factorization A = U*D*U^{T} .
If uplo = 'L' , the array a stores the lower triangular factor L of the factorization A = L*D*L^{T} .
n
The order of matrix A ; n ≥ 0.
nrhs
The number of right-hand sides; nrhs ≥ 0.
a
Array of size at least max (1,lda*n) .
The array a contains the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ?sytrf .
lda
INTEGER . The leading dimension of the array a . lda ≥ max (1, n ).
i1
Index of the first row to swap.
i2
Index of the second row to swap.
Output Parameters
a
If info = 0 , the symmetric inverse of the original matrix.
If info = 'U' , the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced.
If info = 'L' , the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced.
Return Values
This function returns a value info .
If info = 0 , the execution is successful.
If info = -i , the i -th parameter had an illegal value.
If info = -1011 , memory allocation error occurred.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.