Previous: dlaqsy Up: ../lapack-d.html Next: dlar2v

# dlaqtr

```
NAME
DLAQTR - solve the real quasi-triangular system   op(T)*p =
scale*c, if LREAL = .TRUE

SYNOPSIS
SUBROUTINE DLAQTR( LTRAN, LREAL, N, T, LDT, B, W, SCALE, X,
WORK, INFO )

LOGICAL        LREAL, LTRAN

INTEGER        INFO, LDT, N

DOUBLE         PRECISION SCALE, W

DOUBLE         PRECISION B( * ), T( LDT, * ), WORK( * ),
X( * )

PURPOSE
DLAQTR solves the real quasi-triangular system

or the complex quasi-triangular systems

op(T + iB)*(p+iq) = scale*(c+id),  if LREAL =
.FALSE.

in real arithmetic, where T is upper quasi-triangular.
If LREAL = .FALSE., then the first diagonal block of T must
be 1 by 1, B is the specially structured matrix

B = [ b(1) b(2) ... b(n) ]
[       w            ]
[           w        ]
[              .     ]
[                 w  ]

op(A) = A or A', A' denotes the conjugate transpose of
matrix A.

On input, X = [ c ].  On output, X = [ p ].
[ d ]                  [ q ]

This subroutine is designed for the condition number estima-
tion in routine DTRSNA.

ARGUMENTS
LTRAN   (input) LOGICAL
On entry, LTRAN specifies the option of conjugate
transpose: = .FALSE.,    op(T+i*B) = T+i*B, =
.TRUE.,     op(T+i*B) = (T+i*B)'.

LREAL   (input) LOGICAL

On entry, LREAL specifies the input matrix struc-
ture: = .FALSE.,    the input is complex = .TRUE.,
the input is real

N       (input) INTEGER
On entry, N specifies the order of T+i*B. N >= 0.

T       (input) DOUBLE PRECISION array, dimension(LDT,N)
On entry, T contains a matrix in Schur canonical
form.  If LREAL = .FALSE., then the first diagonal
block of T mu be 1 by 1.

LDT     (input) INTEGER
The leading dimension of the matrix T. LDT >=
max(1,N).

B       (input) DOUBLE PRECISION array, dimension(N)
On entry, B contains the elements to form the matrix
B as described above.  If LREAL = .TRUE., B is not
referenced.

W       (input) DOUBLE PRECISION
On entry, W is the diagonal element of the matrix B.
If LREAL = .TRUE., W is not referenced.

SCALE   (output) DOUBLE PRECISION
On exit, SCALE is the scale factor.

X       (input/output) DOUBLE PRECISION array, dimension(2*N)
On entry, X contains the right hand side of the sys-
tem.  On exit, X is overwritten by the solution.

WORK    (workspace) DOUBLE PRECISION array, dimension(N)

INFO    (output) INTEGER
On exit, INFO is set to 0: successful exit.
1: the some diagonal 1 by 1 block has been perturbed
by a small number SMIN to keep nonsingularity.  2:
the some diagonal 2 by 2 block has been perturbed by
a small number in DLALN2 to keep nonsingularity.
NOTE: In the interests of speed, this routine does
not check the inputs for errors.
```