# 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

Univ. of Colorado Denver

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