SB04NX

Solving a system of equations in Hessenberg form with two consecutive offdiagonals and two right-hand sides

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

Purpose

  To solve a system of equations in Hessenberg form with two
  consecutive offdiagonals and two right-hand sides.

Specification
      SUBROUTINE SB04NX( RC, UL, M, A, LDA, LAMBD1, LAMBD2, LAMBD3,
     $                   LAMBD4, D, TOL, IWORK, DWORK, LDDWOR, INFO )
C     .. Scalar Arguments ..
      CHARACTER         RC, UL
      INTEGER           INFO, LDA, LDDWOR, M
      DOUBLE PRECISION  LAMBD1, LAMBD2, LAMBD3, LAMBD4, TOL
C     .. Array Arguments ..
      INTEGER           IWORK(*)
      DOUBLE PRECISION  A(LDA,*), D(*), DWORK(LDDWOR,*)

Arguments

Mode Parameters

  RC      CHARACTER*1
          Indicates processing by columns or rows, as follows:
          = 'R':  Row transformations are applied;
          = 'C':  Column transformations are applied.

  UL      CHARACTER*1
          Indicates whether AB is upper or lower Hessenberg matrix,
          as follows:
          = 'U':  AB is upper Hessenberg;
          = 'L':  AB is lower Hessenberg.

Input/Output Parameters
  M       (input) INTEGER
          The order of the matrix A.  M >= 0.

  A       (input) DOUBLE PRECISION array, dimension (LDA,M)
          The leading M-by-M part of this array must contain a
          matrix A in Hessenberg form.

  LDA     INTEGER
          The leading dimension of array A.  LDA >= MAX(1,M).

  LAMBD1, (input) DOUBLE PRECISION
  LAMBD2, These variables must contain the 2-by-2 block to be added
  LAMBD3, to the diagonal blocks of A.
  LAMBD4

  D       (input/output) DOUBLE PRECISION array, dimension (2*M)
          On entry, this array must contain the two right-hand
          side vectors of the Hessenberg system, stored row-wise.
          On exit, if INFO = 0, this array contains the two solution
          vectors of the Hessenberg system, stored row-wise.

Tolerances
  TOL     DOUBLE PRECISION
          The tolerance to be used to test for near singularity of
          the triangular factor R of the Hessenberg matrix. A matrix
          whose estimated condition number is less than 1/TOL is
          considered to be nonsingular.

Workspace
  IWORK   INTEGER array, dimension (2*M)

  DWORK   DOUBLE PRECISION array, dimension (LDDWOR,2*M+3)
          The leading 2*M-by-2*M part of this array is used for
          computing the triangular factor of the QR decomposition
          of the Hessenberg matrix. The remaining 6*M elements are
          used as workspace for the computation of the reciprocal
          condition estimate.

  LDDWOR  INTEGER
          The leading dimension of array DWORK.
          LDDWOR >= MAX(1,2*M).

Error Indicator
  INFO    INTEGER
          = 0:  successful exit;
          = 1:  if the Hessenberg matrix is (numerically) singular.
                That is, its estimated reciprocal condition number
                is less than or equal to TOL.

Numerical Aspects
  None.

Further Comments
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index