?syswapr
?syswapr
Applies an elementary permutation on the rows and columns of a symmetric matrix.
Syntax
lapack_int
LAPACKE_ssyswapr
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
float
*
a
,
lapack_int
i1
,
lapack_int
i2
);
lapack_int
LAPACKE_dsyswapr
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
double
*
a
,
lapack_int
i1
,
lapack_int
i2
);
lapack_int
LAPACKE_csyswapr
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_complex_float
*
a
,
lapack_int
i1
,
lapack_int
i2
);
lapack_int
LAPACKE_zsyswapr
(
int
matrix_layout
,
char
uplo
,
lapack_int
n
,
lapack_complex_double
*
a
,
lapack_int
i1
,
lapack_int
i2
);
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 matrixAhas been factored:If, the arrayuplo='U'astores the upper triangular factorUof the factorizationA=.U*D*UTIf, the arrayuplo='L'astores the lower triangular factorLof the factorizationA=.L*D*LT
- n
- The order of matrixA;n≥0.
- nrhs
- The number of right-hand sides;nrhs≥0.
- a
- Array of sizeat least max.(1,lda*n)The arrayacontains the block diagonal matrixDand the multipliers used to obtain the factorUorLas computed by?sytrf.
- i1
- Index of the first row to swap.
- i2
- Index of the second row to swap.
Output Parameters
- a
- If, the symmetric inverse of the original matrix.info= 0If, the upper triangular part of the inverse is formed and the part ofinfo='U'Abelow the diagonal is not referenced.If, the lower triangular part of the inverse is formed and the part ofinfo='L'Aabove the diagonal is not referenced.
Return Values
This function returns a value
info
.If , the execution is successful.
info
= 0If , the
info
= -i
i
-th parameter had an illegal value.If
, memory allocation error occurred.info
= -1011