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
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None