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