DLAQTR (3) Linux Manual 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 (logicalLTRAN, logicalLREAL, integerN, double precision, dimension( ldt, * )T, integerLDT, double precision, dimension( * )B, double precisionW, double precisionSCALE, double precision, dimension( * )X, double precision, dimension( * )WORK, integerINFO)
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
LREAL
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 is LOGICAL
N
On entry, LREAL specifies the input matrix structure:
= .FALSE., the input is complex
= .TRUE., the input is realN is INTEGER
T
On entry, N specifies the order of T+i*B. N >= 0.T is DOUBLE PRECISION array, dimension (LDT,N)
LDT
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 is INTEGER
B
The leading dimension of the matrix T. LDT >= max(1,N).B is DOUBLE PRECISION array, dimension (N)
W
On entry, B contains the elements to form the matrix
B as described above.
If LREAL = .TRUE., B is not referenced.W is DOUBLE PRECISION
SCALE
On entry, W is the diagonal element of the matrix B.
If LREAL = .TRUE., W is not referenced.SCALE is DOUBLE PRECISION
X
On exit, SCALE is the scale factor.X is DOUBLE PRECISION array, dimension (2*N)
WORK
On entry, X contains the right hand side of the system.
On exit, X is overwritten by the solution.WORK is DOUBLE PRECISION array, dimension (N)
INFOINFO 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:
- September 2012
Definition at line 165 of file dlaqtr.f.
