PDGBTRF(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ PDGBTRF ✨

okay bestie, gather round, because this one is a LAPACK routine from version 1.5 (dated 12 May 1997, yes she's vintage, she's an icon, we respect her) and she lives in the l manual section. iykyk πŸ’…


🌸 NAME 🌸

PDGBTRF β€” she computes a LU factorization of an N-by-N real banded distributed matrix with bandwidth BWL, BWU. that's it, that's the job, and she does it flawlessly πŸ¦‹


πŸŽ€ SYNOPSIS πŸŽ€

SUBROUTINE PDGBTRF( N, BWL, BWU, A, JA, DESCA, IPIV, AF, LAF, WORK,
                    LWORK, INFO )

    INTEGER         BWL, BWU, INFO, JA, LAF, LWORK, N

    INTEGER         DESCA( * ), IPIV( * )

    DOUBLE          PRECISION A( * ), AF( * ), WORK( * )

literally just your standard Fortran subroutine glow-up, no cap πŸ’–


πŸ‘‘ PURPOSE πŸ‘‘

so PDGBTRF computes a LU factorization of an N-by-N real banded distributed matrix with bandwidth BWL, BWU: A(1:N, JA:JA+N-1). periodt.

and here's the tea 🍡 β€” reordering is used to increase parallelism in the factorization. which means... this reordering results in factors that are DIFFERENT from those produced by equivalent sequential codes. yes, different bestie, i said what i said 😭

⚠️ listen up because this part MATTERS: these factors cannot be used directly by users. like, do not pass go, do not touch them. HOWEVER (and this is the slay part ✨) they can be used in subsequent calls to PDGBTRS to solve linear systems. so they're not useless, they're just ✨specialized✨ 🫢

the factorization has the form

P A(1:N, JA:JA+N-1) Q = L U

where U is a banded upper triangular matrix and L is banded lower triangular, and P and Q are permutation matrices. the way that math just works 🧚

breaking it down so we're all on the same page:

  • Q represents reordering of columns for parallelism's sake β€” she's doing it for the girls, for the team, for the parallelism πŸ’œ
  • P represents reordering of rows for numerical stability using classic partial pivoting β€” she's the responsible one, keeping things stable, main character energy πŸ‘‘

so like. Q is the vibe curator and P is the safety officer. iconic duo honestly πŸ”₯


that's the whole page bestie, short and sweet and absolutely ate πŸ’…

this was brought to you by LAPACK version 1.5, written 12 May 1997 β€” older than most of us and still out here factoring matrices, we stan a timeless queen πŸ‘‘βœ¨

πŸ“¦ where this page comes from