PSPBSV(l)

πŸ“¦ version 1.5, in ubuntu jammy

πŸ’– PSPBSV β€” the LAPACK routine that's literally here to solve your banded system πŸ’–

okay bestie, so PSPBSV is a LAPACK routine (we're talking version 1.5 energy here, vintage but iconic) and it does exactly one thing and does it gorgeously: it solves a system of linear equations

A(1:N, JA:JA+N-1) * X = B(IB:IB+N-1, 1:NRHS)

no cap. that's the whole vibe. πŸ¦‹


✨ SYNOPSIS ✨

okay so here's the summoning circle, copy it exactly or she will NOT answer:

SUBROUTINE PSPBSV( UPLO, N, BW, NRHS, A, JA, DESCA, B, IB, DESCB, WORK,
                   LWORK, INFO )

    CHARACTER      UPLO

    INTEGER        BW, IB, INFO, JA, LWORK, N, NRHS

    INTEGER        DESCA( * ), DESCB( * )

    REAL           A( * ), B( * ), WORK( * )

like. look at her. so many arguments. so many letters. we love a high-maintenance queen πŸ‘‘


🌸 PURPOSE 🌸

so PSPBSV solves a system of linear equations, where

A(1:N, JA:JA+N-1) is an N-by-N real banded symmetric positive definite distributed matrix with bandwidth BW.

read that again bestie: real, banded, symmetric, positive definite, distributed. that's a lot of adjectives and she's serving every single one πŸ’…

how does she do it? Cholesky factorization, obvi. she factors a reordering of the matrix into L L' β€” that's L times L-transpose, the classic glow-up decomposition ✨

and if you want the deets on the factorization and the solve steps separately, the manpage is literally telling you to go check PSPBTRF and PSPBTRS for details. iykyk. 🫢


ngl bestie, that's the entire page. short, sweet, and does exactly what it says on the tin. no bugs listed, no warnings, no environment variables, no exit statuses beyond INFO chilling in the argument list. she's a simple girl with a big job. 😭

LAPACK version 1.5 Β· 12 May 1997 Β· ok that's a whole quarter century ago and she's still running, that's main character energy fr fr πŸ’€πŸ‘‘ bye bestie, go factor something symmetric πŸ’–βœ¨

πŸ“¦ where this page comes from