Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 10/31/2024
Public
Document Table of Contents

?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 matrix A has been factored:

If uplo = 'U', the array a stores the upper triangular factor U of the factorization A = U*D*UT.

If uplo = 'L', the array a stores the lower triangular factor L of the factorization A = L*D*LT.

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.

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.

See Also