PCDBTRS(l)

πŸ“¦ version 1.5, in ubuntu jammy

πŸ’– PCDBTRS β€” bestie's guide to solving your banded system πŸ’–

LAPACK routine, version 1.5, chillin' in section l of the manual. Yes, the (l) is just the manual section, she's fancy like that. πŸŽ€


✨ NAME ✨

PCDBTRS β€” solves a system of linear equations, and the system in question is this iconic little number:

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

no cap, that's literally the whole job description. πŸ¦‹


🌸 SYNOPSIS 🌸

SUBROUTINE PCDBTRS( TRANS, N, BWL, BWU, NRHS, A, JA, DESCA, B, IB,
                    DESCB, AF, LAF, WORK, LWORK, INFO )

    CHARACTER       TRANS

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

    INTEGER         DESCA( * ), DESCB( * )

    COMPLEX         A( * ), AF( * ), B( * ), WORK( * )

look at her. so many arguments. so much main character energy. πŸ‘‘


πŸ’… PURPOSE πŸ’…

PCDBTRS solves a system of linear equations, and it comes in two flavours:

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

or

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

(that little apostrophe is a transpose, bestie, she's doing the conjugate-transpose version when you ask her to. πŸ’…)

So where does A(1:N, JA:JA+N-1) come from? It's the matrix that was used to produce the factors stored in A(1:N,JA:JA+N-1) and AF by PCDBTRF. 🌈

And what even is A(1:N, JA:JA+N-1)? She's an N-by-N complex banded diagonally dominant-like distributed matrix, with bandwidth BWL (lower) and BWU (upper). Banded. Dominant-ish. Distributed. The full package. πŸ¦‹

🚨 OKAY SO THIS PART IS NOT OPTIONAL, FR FR: routine PCDBTRF MUST be called first. Not "should", not "maybe", MUST. If you skip PCDBTRF, PCDBTRS has nothing to work with and it's giving πŸ’€. Do the factorization first, then come back here. Periodt. 🫢

πŸŽ€ SEE YA πŸŽ€

That's the page, bestie β€” go forth and solve your banded systems responsibly. 🌸

This one's from LAPACK version 1.5, dated 12 May 1997. Old money, timeless icon. πŸ’–βœ¨

πŸ“¦ where this page comes from