MA02IZ

Matrix 1-, Frobenius, or infinity norms of a complex skew-Hamiltonian matrix

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

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

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index