heswapr#

Functions

void cheswapr(
    const char*          uplo,
    const INT            n,
          c64*  restrict A,
    const INT            lda,
    const INT            i1,
    const INT            i2
);
void cheswapr(const char *uplo, const INT n, c64 *restrict A, const INT lda, const INT i1, const INT i2)#

CHESWAPR applies an elementary permutation on the rows and the columns of a hermitian matrix.

On exit, if INFO = 0, the (symmetric) inverse of the original matrix. If UPLO = ‘U’, the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = ‘L’ the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced.

Parameters

in
uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**T; = ‘L’: Lower triangular, form is A = L*D*L**T.

in
n

The order of the matrix A. n >= 0.

inout
A

Single complex array, dimension (lda, n). On entry, the NB diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF.

in
lda

The leading dimension of the array A. lda >= max(1, n).

in
i1

Index of the first row to swap (0-based).

in
i2

Index of the second row to swap (0-based).

Functions

void zheswapr(
    const char*          uplo,
    const INT            n,
          c128* restrict A,
    const INT            lda,
    const INT            i1,
    const INT            i2
);
void zheswapr(const char *uplo, const INT n, c128 *restrict A, const INT lda, const INT i1, const INT i2)#

ZHESWAPR applies an elementary permutation on the rows and the columns of a hermitian matrix.

On exit, if INFO = 0, the (symmetric) inverse of the original matrix. If UPLO = ‘U’, the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = ‘L’ the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced.

Parameters

in
uplo

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**T; = ‘L’: Lower triangular, form is A = L*D*L**T.

in
n

The order of the matrix A. n >= 0.

inout
A

Double complex array, dimension (lda, n). On entry, the NB diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF.

in
lda

The leading dimension of the array A. lda >= max(1, n).

in
i1

Index of the first row to swap (0-based).

in
i2

Index of the second row to swap (0-based).