SRC/dlaqtr.f(3)
π NAME π
okay so this page is SRC/dlaqtr.f, bestie β and yes, it's living in the Library Functions Manual. That's the manual-name tea folded in right at the top so you're not left wondering. π The actual NAME section is just SRC/dlaqtr.f; no cap, that's the whole name.
β¨ 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 π¦
Here's the full signature as the original page gives it β long, iconic, and not afraid to take up space:
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 π
Okay bestie, 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, and B is the specially structured matrix:
B = [ b(1) b(2) ... b(n) ]
[ w ]
[ w ]
[ . ]
[ w ]
op(A) = A or A**T, and 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. That's the whole vibe.
πΈ Parameters πΈ
LTRANβLTRAN is LOGICAL. On entry,LTRANspecifies 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,LREALspecifies the input matrix structure:= .FALSE., the input is complex= .TRUE., the input is real
NβN is INTEGER. On entry,Nspecifies the order ofT+i*B.N >= 0.TβT is DOUBLE PRECISION array, dimension (LDT,N). On entry,Tcontains a matrix in Schur canonical form. IfLREAL = .FALSE., then the first diagonal block of T must 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,Bcontains the elements to form the matrix B as described above. IfLREAL = .TRUE.,Bis not referenced.WβW is DOUBLE PRECISION. On entry,Wis the diagonal element of the matrix B. IfLREAL = .TRUE.,Wis not referenced.SCALEβSCALE is DOUBLE PRECISION. On exit,SCALEis the scale factor.XβX is DOUBLE PRECISION array, dimension (2*N). On entry,Xcontains the right hand side of the system. On exit,Xis overwritten by the solution.WORKβWORK is DOUBLE PRECISION array, dimension (N).INFOβINFO is INTEGER. On exit,INFOis set to:0: successful exit.1: some diagonal 1 by 1 block has been perturbed by a small numberSMINto keep nonsingularity.2: some diagonal 2 by 2 block has been perturbed by a small number inDLALN2to keep nonsingularity.
NOTE: In the interests of speed, this routine does not check the inputs for errors. β οΈ This is a real caveat, bestie β no input-error checking here, because speed said main character energy. π
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 163 of file dlaqtr.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
Okay that's the whole page, bestie. Cute sign-off time: LAPACK Version 3.12.0, page SRC/dlaqtr.f(3) β slay, no cap. π
β¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms