## MA02NZ

### Permute two rows and corresponding columns of a (skew-)symmetric/Hermitian complex matrix

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

      To permute two specified rows and corresponding columns of a
      (skew-)symmetric/Hermitian complex matrix.

Specification

          SUBROUTINE MA02NZ( UPLO, TRANS, SKEW, N, K, L, A, LDA )
    C     .. Scalar Arguments ..
          CHARACTER          SKEW, TRANS, UPLO
          INTEGER            K, L, LDA, N
    C     .. Array Arguments ..
          COMPLEX*16         A(LDA,*)

Arguments

Mode Parameters

      UPLO    CHARACTER*1
              Specifies whether the upper or lower triangular part of
              the (skew-)symmetric/Hermitian matrix A is to be
              referenced, as follows:
              = 'U':  Upper triangular part of A is referenced;
              = 'L':  Lower triangular part of A is referenced.

      TRANS   CHARACTER*1
              Specifies whether to use transposition or conjugate
              transposition as follows:
              = 'T':  Use transposition;
              = 'C':  Use conjugate transposition.

      SKEW    CHARACTER*1
              Specifies whether the matrix is symmetric/Hermitian or
              skew-symmetric/Hermitian as follows:
              = 'N':  The matrix is symmetric/Hermitian;
              = 'S':  The matrix is skew-symmetric/skew-Hermitian.

Input/Output Parameters

      N       (input) INTEGER
              The order of the matrix A.  N >= 0.

      K       (input) INTEGER
              The smaller index of the pair of rows and columns to be
              permuted.  0 <= K <= L. If K = 0, the routine returns.

      L       (input) INTEGER
              The larger index of the pair of rows and columns to be
              permuted.  K <= L <= N.

      A       (input/output) COMPLEX*16 array, dimension (LDA,N)
              On entry, the leading N-by-N upper triangular part
              (if UPLO = 'U'), or lower triangular part (if UPLO = 'L'),
              of this array must contain the corresponding upper or
              lower triangle of the (skew-)symmetric/Hermitian matrix A.
              On exit, the leading N-by-N upper or lower triangular part
              of this array (depending on UPLO) contains the
              corresponding part of the permuted matrix A.
              Note that a Hermitian matrix has the imaginary parts of
              the diagonal entries zero. Similarly, a skew-Hermitian
              matrix has the real parts of the diagonal entries zero.
              The routine does not check out this conditions.

      LDA     INTEGER
              The leading dimension of the array A.  LDA >= max(N,1).

Further Comments

      None

Example

Program Text

      None

Program Data

      None

Program Results

      None

Return to Supporting Routines index