Purpose
To store by (skew-)symmetry the upper or lower triangle of a (skew-)symmetric/Hermitian complex matrix, given the other triangle. The option SKEW = 'G' allows to suitably deal with the diagonal of a general square triangular matrix.Specification
SUBROUTINE MA02EZ( UPLO, TRANS, SKEW, N, A, LDA )
C .. Scalar Arguments ..
CHARACTER SKEW, TRANS, UPLO
INTEGER LDA, N
C .. Array Arguments ..
COMPLEX*16 A(LDA,*)
Arguments
Mode Parameters
UPLO CHARACTER*1
Specifies which part of the matrix is given as follows:
= 'U': Upper triangular part;
= 'L': Lower triangular part.
For all other values, the array A is not 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:
= 'G': The matrix is not symmetric/Hermitian (general);
= 'N': The matrix is symmetric/Hermitian;
= 'S': The matrix is skew-symmetric/Hermitian.
Input/Output Parameters
N (input) INTEGER
The order of the matrix A. N >= 0.
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 part of this array contains
the (skew-)symmetric/Hermitian matrix A with all elements
stored. If the resulted matrix should be Hermitian, the
imaginary parts of the diagonal entries are set to zero.
If the resulted matrix should be skew-Hermitian, the real
parts of the diagonal entries are set to zero.
LDA INTEGER
The leading dimension of the array A. LDA >= max(1,N).
Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None