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
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None