PSPBTRSV(l)
β¨ PSPBTRSV β NAME β¨
okay bestie so PSPBTRSV solves a banded triangular system of linear equations π
like literally:
A(1:N, JA:JA+N-1) * X = B(IB:IB+N-1, 1:NRHS)
that's the whole vibe. she's a solver, she's a LAPACK routine (version 1.5, in case you were wondering), and she's here to do exactly one thing and do it gorgeously π
π¦ SYNOPSIS π¦
SUBROUTINE PSPBTRSV( UPLO, TRANS, N, BW, NRHS, A, JA, DESCA, B, IB,
DESCB, AF, LAF, WORK, LWORK, INFO )
CHARACTER TRANS, UPLO
INTEGER BW, IB, INFO, JA, LAF, LWORK, N, NRHS
INTEGER DESCA( * ), DESCB( * )
REAL A( * ), AF( * ), B( * ), WORK( * )
no cap, that's a lot of arguments. she's high maintenance but she's worth it π
πΈ PURPOSE πΈ
PSPBTRSV solves a banded triangular system of linear equations, and it's giving β¨twoβ¨ whole modes:
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)
where A(1:N, JA:JA+N-1) is a banded triangular matrix factor produced by the Cholesky factorization code PSPBTRF, and it lives (stored) in A(1:N,JA:JA+N-1) and AF. yes bestie, two homes, she's got range π
the matrix stored in A(1:N, JA:JA+N-1) is either upper or lower triangular according to UPLO β like, that's your call, you're the main character here π
and the choice of solving A(1:N, JA:JA+N-1) or A(1:N, JA:JA+N-1)^T is dictated by the user (that's you, gorgeous) via the parameter TRANS. so you're basically the director of this whole production π¬
β οΈ IMPORTANT bestie, do not skip this part: routine PSPBTRF MUST be called first. like, before this one. she will not work without her prequel, periodt. π₯
so yeah β factor with PSPBTRF first, then come let PSPBTRSV do her little solve dance. iconic behaviour only. π
this was LAPACK routine, version 1.5, dated 12 May 1997 β yeah she's an old soul but she ATE and left no crumbs π«Άβ¨
π¦ 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