SB04RX

Solving a system of equations in quasi-Hessenberg form with two right-hand sides

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

Purpose

  To solve a system of equations in quasi-Hessenberg form
  (Hessenberg form plus two consecutive offdiagonals) with two
  right-hand sides.

Specification
      SUBROUTINE SB04RX( 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 A is upper or lower Hessenberg matrix,
          as follows:
          = 'U':  A is upper Hessenberg;
          = 'L':  A 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
  LAMBD3, multiplied to the elements 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 quasi-Hessenberg system, stored
          row-wise.
          On exit, if INFO = 0, this array contains the two solution
          vectors of the quasi-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 quasi-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 quasi-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 quasi-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