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, 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 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, 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: some diagonal 1 by 1 block has been perturbed by a small number SMIN to keep nonsingularity.
    • 2: 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. ⚠️ 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