PDPTTRSV(l)
π PDPTTRSV β bestie edition π
okay so you know how we don't do boring manpage voice anymore? yeah. this is the LAPACK routine PDPTTRSV, manual section l, and it's from LAPACK version 1.5. let's get into it π«Ά
β¨ NAME β¨
PDPTTRSV β she solves a tridiagonal triangular system of linear equations, specifically this one:
A(1:N, JA:JA+N-1) * X = B(IB:IB+N-1, 1:NRHS)
periodt. that's the whole job description π
πΈ SYNOPSIS πΈ
SUBROUTINE PDPTTRSV( UPLO, N, NRHS, D, E, JA, DESCA, B, IB, DESCB, AF,
LAF, WORK, LWORK, INFO )
CHARACTER UPLO
INTEGER IB, INFO, JA, LAF, LWORK, N, NRHS
INTEGER DESCA( * ), DESCB( * )
DOUBLE PRECISION AF( * ), B( * ), D( * ), E( * ), WORK( *
)
look at all those arguments, she's highkey booked and busy π (also yes, the declaration really does say DOUBLE PRECISION split across two lines like that. iconic formatting, no notes π)
π¦ PURPOSE π¦
PDPTTRSV solves a tridiagonal triangular system of linear equations, and honestly there's a little choose your own adventure happening here, because it does either:
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)
not me giving you options, bestie, that's literally the routine π
so here's the lore: A(1:N, JA:JA+N-1) is a tridiagonal triangular matrix factor produced by the Cholesky factorization code PDPTTRF, and it gets stored in A(1:N,JA:JA+N-1) and in AF. two homes, one matrix, she contains multitudes β¨
the matrix living in A(1:N, JA:JA+N-1) is either upper or lower triangular according to UPLO β so UPLO is doing the vibe check on the shape, and you better respect its decision π
and then whether you're solving with A(1:N, JA:JA+N-1) or with A(1:N, JA:JA+N-1)^T? that's dictated by the user by the parameter TRANS. yes, TRANS. it's not in the argument list up there, it's just out here living its truth. iykyk π
π¨ the important bit, do not skip: routinePDPTTRFMUST be called first. like, mandatory. non-negotiable. if you callPDPTTRSVwithout doing yourPDPTTRFhomework first, that's not slay, that's a setup for sadness π
that's the whole page, no cap. every argument, every *, every ^T, every capital letter in MUST β all accounted for π
LAPACK routine, version 1.5 β and this page is dated 12 May 1997. stan a legacy queen, she's been solving linear systems since before some of us were born πβ
π¦ 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