Developer Reference for Intel® oneAPI Math Kernel Library for C

ID 766684
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

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