PZPBTRSV(l)

πŸ“¦ version 1.5, in ubuntu jammy

πŸ’– PZPBTRSV πŸ’–

okay bestie, welcome to the manual page for PZPBTRSV, a LAPACK routine (that's version 1.5, she's a lil vintage, we love her). this is a Fortran joint from the l section of the manual, and she is lowkey iconic. let's get into it 🫢


✨ NAME ✨

PZPBTRSV β€” she solves a banded triangular system of linear equations

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

periodt. that's the whole job. πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

here's the glow-up, character for character, no cap:

SUBROUTINE PZPBTRSV( 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( * )

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

look at all those arguments, she's serving range πŸ’–


🌸 PURPOSE 🌸

so what does PZPBTRSV actually do? she solves a banded triangular system of linear equations, and there are two flavors:

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

or

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

where A(1:N, JA:JA+N-1) is a banded triangular matrix factor, and β€” plot twist β€” she was produced by the Cholesky factorization code PZPBTRF, and she's stored in A(1:N,JA:JA+N-1) and AF. so she lives in two places, main character energy honestly πŸ’€

the matrix chillin' in A(1:N, JA:JA+N-1) is either upper or lower triangular, and that's decided by UPLO. and whether you solve A(1:N, JA:JA+N-1) or A(1:N, JA:JA+N-1)^H? that's fully up to you, the user, and you tell her through the parameter TRANS. you're in charge, bestie πŸ‘‘

⚠️ okay this is the important part, do NOT skip it: routine PZPBTRF MUST be called first. like, MUST must. no PZPBTRF, no PZPBTRSV. it's giving prerequisites, it's giving prerequisites, periodt. 🚨

πŸ¦‹ see ya πŸ¦‹

and that's the page!! this was LAPACK version 1.5, dated 12 May 1997 β€” yes she's an elder but she ATE and left no crumbs. go call PZPBTRF first and then slay your banded triangular system πŸ’–βœ¨πŸŽ€πŸ«ΆπŸ‘‘

πŸ“¦ where this page comes from