PZDTTRSV(l)

πŸ“¦ version 1.5, in ubuntu jammy

✨ NAME ✨

okay so bestie, meet PZDTTRSV(l) β€” the LAPACK routine that solves a tridiagonal triangular 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 name vibe. πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

the lineup, exactly as it appears:

SUBROUTINE PZDTTRSV( UPLO, TRANS, N, NRHS, DL, D, DU, JA, DESCA, B, IB,
                     DESCB, AF, LAF, WORK, LWORK, INFO )

    CHARACTER        TRANS, UPLO

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

    INTEGER          DESCA( * ), DESCB( * )

    COMPLEX*16       AF( * ), B( * ), D( * ), DL( * ), DU( * ), WORK( * )

like, that's the whole cast. UPLO, TRANS, N, NRHS, DL, D, DU, JA, DESCA, B, IB, DESCB, AF, LAF, WORK, LWORK, INFO. iconic. πŸŽ€


🌸 PURPOSE 🌸

PZDTTRSV solves a tridiagonal triangular system of linear equations, and it's giving either:

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 tridiagonal triangular matrix factor produced by the Gaussian elimination code PZ@(dom_pre)TTRF and is stored in A(1:N,JA:JA+N-1) and AF.

the matrix stored in A(1:N, JA:JA+N-1) is either upper or lower triangular according to UPLO, and the choice of solving A(1:N, JA:JA+N-1) or A(1:N, JA:JA+N-1)^H is dictated by the user by the parameter TRANS.

⚠️ routine PZDTTRF MUST be called first. like, no skipping. periodt. πŸ’€

πŸ’– that's the tea. this was LAPACK routine version 1.5, dated 12 May 1997, and the page is PZDTTRSV(l). bye bestie, go slay those tridiagonal systems 🫢✨

πŸ“¦ where this page comes from