PSPBTRF(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ PSPBTRF β€” bestie edition ✨

okay so real talk, this is PSPBTRF from LAPACK, and she is a distributed girlie πŸ’… (the P stands for parallel, iykyk). Manual name: PSPBTRF(l). Let's get into it 🫢


🌸 NAME 🌸

PSPBTRF β€” compute a Cholesky factorization of an N-by-N real banded symmetric positive definite distributed matrix with bandwidth BW ✨

like… she takes your banded symmetric positive definite distributed matrix and Cholesky-factorizes it. no cap. πŸ’–


πŸŽ€ SYNOPSIS πŸŽ€

SUBROUTINE PSPBTRF( UPLO, N, BW, A, JA, DESCA, AF, LAF, WORK, LWORK,
                    INFO )

    CHARACTER       UPLO

    INTEGER         BW, INFO, JA, LAF, LWORK, N

    INTEGER         DESCA( * )

    REAL            A( * ), AF( * ), WORK( * )

so the whole cast is: UPLO, N, BW, A, JA, DESCA, AF, LAF, WORK, LWORK, INFO β€” and yes bestie, there are eleven of them, main character energy fr fr πŸ‘‘


πŸ”₯ PURPOSE πŸ”₯

PSPBTRF computes a Cholesky factorization of an N-by-N real banded symmetric positive definite distributed matrix with bandwidth BW: A(1:N, JA:JA+N-1). 🌈

here's the tea though: reordering is used to increase parallelism in the factorization. πŸ¦‹ and the way that reordering works?? it results in factors that are DIFFERENT from those produced by equivalent sequential codes. 😭

⚠️ bestie listen to me: those factors cannot be used directly by users. do not try it. however β€” they can be used in subsequent calls to PSPBTRS to solve linear systems. so like, she's not useless, she's just ✨committed✨ to her parallel lifestyle.

the factorization has the form:

P A(1:N, JA:JA+N-1) P^T = U' U ,  if UPLO = 'U', or

P A(1:N, JA:JA+N-1) P^T = L L', if UPLO = 'L'

where U is a banded upper triangular matrix and L is banded lower triangular, and P is a permutation matrix. πŸŽ€


and that's the whole vibe, bestie β€” no more sections, we ate and left no crumbs πŸ“

πŸ’œ this was the LAPACK version 1.5 manual page, dated 12 May 1997. iconic behavior honestly. now go call PSPBTRS like a good little solver 🧚✨
πŸ“¦ where this page comes from