MA02JZ

Test if a matrix is a unitary symplectic matrix

[Specification] [Arguments] [Method] [References] [Comments] [Example]

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
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index