# dlaqtr.f man page

dlaqtr.f

## Synopsis

### Functions/Subroutines

subroutine dlaqtr (LTRAN, LREAL, N, T, LDT, B, W, SCALE, X, WORK, INFO)
DLAQTR solves a real quasi-triangular system of equations, or a complex quasi-triangular system of special form, in real arithmetic.

## Function/Subroutine Documentation

### subroutine dlaqtr (logical LTRAN, logical LREAL, integer N, double precision, dimension( ldt, * ) T, integer LDT, double precision, dimension( * ) B, double precision W, double precision SCALE, double precision, dimension( * ) X, double precision, dimension( * ) WORK, integer INFO)

DLAQTR solves a real quasi-triangular system of equations, or a complex quasi-triangular system of special form, in real arithmetic.

Purpose:

``` DLAQTR solves the real quasi-triangular system

op(T)*p = scale*c,               if LREAL = .TRUE.

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**T, A**T denotes the transpose of
matrix A.

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

This subroutine is designed for the condition number estimation
in routine DTRSNA.```
Parameters:

LTRAN

```          LTRAN is 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)**T.```

LREAL

```          LREAL is LOGICAL
On entry, LREAL specifies the input matrix structure:
= .FALSE.,    the input is complex
= .TRUE.,     the input is real```

N

```          N is INTEGER
On entry, N specifies the order of T+i*B. N >= 0.```

T

```          T is 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

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

B

```          B is 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

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

SCALE

```          SCALE is DOUBLE PRECISION
On exit, SCALE is the scale factor.```

X

```          X is DOUBLE PRECISION array, dimension (2*N)
On entry, X contains the right hand side of the system.
On exit, X is overwritten by the solution.```

WORK

`          WORK is DOUBLE PRECISION array, dimension (N)`

INFO

```          INFO is 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.```
Author:

Univ. of Tennessee

Univ. of California Berkeley

NAG Ltd.

Date:

December 2016

Definition at line 167 of file dlaqtr.f.

## Author

Generated automatically by Doxygen for LAPACK from the source code.

## Referenced By

The man page dlaqtr(3) is an alias of dlaqtr.f(3).

Tue Nov 14 2017 Version 3.8.0 LAPACK