PDDTTRSV(l)
πΈ PDDTTRSV β the tridiagonal triangular solve, bestie edition π
ok so like. pookie. you're in LAPACK land (version 1.5, if we're being precise, and we ARE) and you have a tridiagonal triangular system that is not going to solve itself. that's literally what PDDTTRSV is here for. pull up a chair, grab a strawberry π, and let's get into it.
β¨ NAME β¨
PDDTTRSV β she solves a tridiagonal triangular system of linear equations, and honestly? she ate.
A(1:N, JA:JA+N-1) * X = B(IB:IB+N-1, 1:NRHS)
π SYNOPSIS π
here's the whole cast, no cap:
SUBROUTINE PDDTTRSV( UPLO, TRANS, N, NRHS, DL, D, DU, JA, DESCA, B, IB,
DESCB, AF, LAF, WORK, LWORK, INFO )
CHARACTER TRANS, UPLO
INTEGER IB, INFO, JA, LAF, LWORK, N, NRHS
INTEGER DESCA( * ), DESCB( * )
DOUBLE PRECISION AF( * ), B( * ), D( * ), DL( * ), DU( *
), WORK( * )
like yes bestie, that is a lot of arguments. but every single one of them matters, i promise. π
π PURPOSE π
PDDTTRSV solves a tridiagonal triangular system of linear equations, and it can do it two ways:
A(1:N, JA:JA+N-1) * X = B(IB:IB+N-1, 1:NRHS)
or
A(1:N, JA:JA+N-1)^T * X = B(IB:IB+N-1, 1:NRHS)
so where does A(1:N, JA:JA+N-1) even come from? it's a tridiagonal triangular matrix factor, produced by the Gaussian elimination code PD@(dom_pre)TTRF, and it lives in A(1:N,JA:JA+N-1) and in AF. two homes. main character energy honestly.
the matrix chillin' in A(1:N, JA:JA+N-1) is either upper or lower triangular β that's decided by UPLO, not by you vibing β and whether you solve with A(1:N, JA:JA+N-1) or with A(1:N, JA:JA+N-1)^T is entirely dictated by the user through the parameter TRANS.
π¨ okay this is the part where you listen: routine PDDTTRF MUST be called first. like. must. no skipping. that's the pre-req, that's the lore, that's the vibe check you do not fail. π
and that's the whole page, babe β short, sweet, and extremely specific about which routine you have to run before this one. π¦
this iconic lil slice of LAPACK is from LAPACK version 1.5, dated 12 May 1997 β vintage, honestly, and still serving. mwah πβ¨
π¦ where this page comes from
- ubuntu jammy: scalapack-doc 1.5-11
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms