Purpose
To compute the value of the one norm, or the Frobenius norm, or the infinity norm, or the element of largest absolute value of a complex skew-Hamiltonian matrix [ A G ] H H X = [ H ], G = -G, Q = -Q, [ Q A ] or of a complex Hamiltonian matrix [ A G ] H H X = [ H ], G = G, Q = Q, [ Q -A ] where A, G and Q are complex n-by-n matrices. Note that for this kind of matrices the infinity norm is equal to the one norm.Specification
DOUBLE PRECISION FUNCTION MA02IZ( TYP, NORM, N, A, LDA, QG, $ LDQG, DWORK ) C .. Scalar Arguments .. CHARACTER NORM, TYP INTEGER LDA, LDQG, N C .. Array Arguments .. COMPLEX*16 A(LDA,*), QG(LDQG,*) DOUBLE PRECISION DWORK(*)Function Value
MA02IZ DOUBLE PRECISION The computed norm.Arguments
Mode Parameters
TYP CHARACTER*1 Specifies the type of the input matrix X: = 'S': X is skew-Hamiltonian; = 'H': X is Hamiltonian. NORM CHARACTER*1 Specifies the value to be returned in MA02IZ: = '1' or 'O': one norm of X; = 'F' or 'E': Frobenius norm of X; = 'I': infinity norm of X; = 'M': max(abs(X(i,j)).Input/Output Parameters
N (input) INTEGER The order of the matrix A. N >= 0. A (input) COMPLEX*16 array, dimension (LDA,N) On entry, the leading N-by-N part of this array must contain the matrix A. LDA INTEGER The leading dimension of the array A. LDA >= MAX(1,N). QG (input) COMPLEX*16 array, dimension (LDQG,N+1) On entry, the leading N-by-N+1 part of this array must contain in columns 1:N the lower triangular part of the matrix Q and in columns 2:N+1 the upper triangular part of the matrix G. If TYP = 'S', the real parts of the entries on the diagonal and the first superdiagonal of this array, which should be zero, need not be set, since they are not used. Similarly, if TYP = 'H', the imaginary parts of the entries on the diagonal and the first superdiagonal of this array, which should be zero, need not be set. LDQG INTEGER The leading dimension of the array QG. LDQG >= MAX(1,N).Workspace
DWORK DOUBLE PRECISION array, dimension (LDWORK) where LDWORK >= 2*N when NORM = '1', NORM = 'I' or NORM = 'O'; otherwise, DWORK is not referenced.Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None