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 real skew-Hamiltonian matrix [ A G ] T T X = [ T ], G = -G, Q = -Q, [ Q A ] or of a real Hamiltonian matrix [ A G ] T T X = [ T ], G = G, Q = Q, [ Q -A ] where A, G and Q are real n-by-n matrices. Note that for this kind of matrices the infinity norm is equal to the one norm.Specification
DOUBLE PRECISION FUNCTION MA02ID( TYP, NORM, N, A, LDA, QG, $ LDQG, DWORK ) C .. Scalar Arguments .. CHARACTER NORM, TYP INTEGER LDA, LDQG, N C .. Array Arguments .. DOUBLE PRECISION A(LDA,*), DWORK(*), QG(LDQG,*)Function Value
MA02ID 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 MA02ID: = '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) DOUBLE PRECISION 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) DOUBLE PRECISION 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 parts containing the diagonal and the first supdiagonal of this array are not referenced. 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