SB04RY

Solving a system of equations in Hessenberg form with one right-hand side

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

Purpose

  To solve a system of equations in Hessenberg form with one
  right-hand side.

Specification
      SUBROUTINE SB04RY( RC, UL, M, A, LDA, LAMBDA, D, TOL, IWORK,
     $                   DWORK, LDDWOR, INFO )
C     .. Scalar Arguments ..
      CHARACTER         RC, UL
      INTEGER           INFO, LDA, LDDWOR, M
      DOUBLE PRECISION  LAMBDA, 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).

  LAMBDA  (input) DOUBLE PRECISION
          This variable must contain the value to be multiplied with
          the elements of A.

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

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 (M)

  DWORK   DOUBLE PRECISION array, dimension (LDDWOR,M+3)
          The leading M-by-M part of this array is used for
          computing the triangular factor of the QR decomposition
          of the Hessenberg matrix. The remaining 3*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,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