SB04QR

Solving a linear algebraic system whose coefficient matrix (stored compactly) has zeros below the third subdiagonal

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

Purpose

```  To solve a linear algebraic system of order M whose coefficient
matrix has zeros below the third subdiagonal and zero elements on
the third subdiagonal with even column indices. The matrix is
stored compactly, row-wise.

```
Specification
```      SUBROUTINE SB04QR( M, D, IPR, INFO )
C     .. Scalar Arguments ..
INTEGER           INFO, M
C     .. Array Arguments ..
INTEGER           IPR(*)
DOUBLE PRECISION  D(*)

```
Arguments

Input/Output Parameters

```  M       (input) INTEGER
The order of the system.  M >= 0, M even.
Note that parameter M should have twice the value in the
original problem (see SLICOT Library routine SB04QU).

D       (input/output) DOUBLE PRECISION array, dimension
(M*M/2+4*M)
On entry, the first M*M/2 + 3*M elements of this array
must contain the coefficient matrix, stored compactly,
row-wise, and the next M elements must contain the right
hand side of the linear system, as set by SLICOT Library
routine SB04QU.
On exit, the content of this array is updated, the last M
elements containing the solution with components
interchanged (see IPR).

IPR     (output) INTEGER array, dimension (2*M)
row interchanges performed for solving the system.
Specifically, the i-th component of the solution is
specified by IPR(i).

```
Error Indicator
```  INFO    INTEGER
= 0:  successful exit;
= 1:  if a singular matrix was encountered.

```
Method
```  Gaussian elimination with partial pivoting is used. The rows of
the matrix are not actually permuted, only their indices are
interchanged in array IPR.

```
References
```  [1] Golub, G.H., Nash, S. and Van Loan, C.F.
A Hessenberg-Schur method for the problem AX + XB = C.
IEEE Trans. Auto. Contr., AC-24, pp. 909-913, 1979.

[2] Sima, V.
Marcel Dekker, Inc., New York, 1996.

```
Numerical Aspects
```  None.

```
```  None
```
Example

Program Text

```  None
```
Program Data
```  None
```
Program Results
```  None
```