Purpose
To compute || Q^H Q - I ||_F for a complex matrix of the form [ op( Q1 ) op( Q2 ) ] Q = [ ], [ -op( Q2 ) op( Q1 ) ] where Q1 and Q2 are N-by-N matrices. This residual can be used to test wether Q is numerically a unitary symplectic matrix.Specification
DOUBLE PRECISION FUNCTION MA02JZ( LTRAN1, LTRAN2, N, Q1, LDQ1, Q2, $ LDQ2, RES, LDRES ) C .. Scalar Arguments .. LOGICAL LTRAN1, LTRAN2 INTEGER LDQ1, LDQ2, LDRES, N C .. Array Arguments .. COMPLEX*16 Q1(LDQ1,*), Q2(LDQ2,*), RES(LDRES,*)Function Value
MA02JZ DOUBLE PRECISION The computed residual.Arguments
Mode Parameters
LTRAN1 LOGICAL Specifies the form of op( Q1 ) as follows: = .FALSE.: op( Q1 ) = Q1; = .TRUE. : op( Q1 ) = Q1'. LTRAN2 LOGICAL Specifies the form of op( Q2 ) as follows: = .FALSE.: op( Q2 ) = Q2; = .TRUE. : op( Q2 ) = Q2'.Input/Output Parameters
N (input) INTEGER The order of the matrices Q1 and Q2. N >= 0. Q1 (input) COMPLEX*16 array, dimension (LDQ1,N) On entry, the leading N-by-N part of this array must contain the matrix op( Q1 ). LDQ1 INTEGER The leading dimension of the array Q1. LDQ1 >= MAX(1,N). Q2 (input) COMPLEX*16 array, dimension (LDQ2,N) On entry, the leading N-by-N part of this array must contain the matrix op( Q2 ). LDQ2 INTEGER The leading dimension of the array Q2. LDQ2 >= MAX(1,N).Workspace
RES DOUBLE PRECISION array, dimension (LDRES,N) LDRES INTEGER The leading dimension of the array RES. LDRES >= MAX(1,N).Method
The routine computes the residual by simple elementary operations.Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None