SRC/dptsv.f(3)

πŸ’– SRC/dptsv.f πŸ’–

okay so bestie, this page is a Library Functions Manual entry and it's genuinely iconic β€” it's the dptsv subroutine from LAPACK, and it's giving "I solve your tridiagonal systems so you don't have to" energy. no cap, let's get into it. πŸ¦‹


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines

  • subroutine dptsv (n, nrhs, d, e, b, ldb, info) β€” DPTSV computes the solution to system of linear equations A * X = B for PT matrices

🌸 Function/Subroutine Documentation 🌸

🫢 subroutine dptsv (integer n, integer nrhs, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( ldb, * ) b, integer ldb, integer info)

DPTSV computes the solution to system of linear equations A * X = B for PT matrices. she's the main character fr fr πŸ’…

⭐ Purpose:

!>
!> DPTSV computes the solution to a real system of linear equations
!> A*X = B, where A is an N-by-N symmetric positive definite tridiagonal
!> matrix, and X and B are N-by-NRHS matrices.
!>
!> A is factored as A = L*D*L**T, and the factored form of A is then
!> used to solve the system of equations.
!>

so like β€” A is an N-by-N symmetric positive definite tridiagonal matrix, X and B are N-by-NRHS matrices. she factors A as A = L*D*L**T and then uses that factored form to solve the whole system. lowkey efficient, highkey slay. πŸ”₯

πŸ‘‘ Parameters

  • N
!>          N is INTEGER
!>          The order of the matrix A.  N >= 0.
!>

the order of the matrix A. must be N >= 0. be normal about it. πŸ™ˆ

  • NRHS
!>          NRHS is INTEGER
!>          The number of right hand sides, i.e., the number of columns
!>          of the matrix B.  NRHS >= 0.
!>

the number of right hand sides β€” like, the number of columns of the matrix B. NRHS >= 0. periodt. ✨

  • D
!>          D is DOUBLE PRECISION array, dimension (N)
!>          On entry, the n diagonal elements of the tridiagonal matrix
!>          A.  On exit, the n diagonal elements of the diagonal matrix
!>          D from the factorization A = L*D*L**T.
!>

a DOUBLE PRECISION array, dimension (N). on entry it's the n diagonal elements of the tridiagonal matrix A. on exit it's the n diagonal elements of the diagonal matrix D from the factorization A = L*D*L**T. she really said "I contain multitudes". πŸ¦‹

  • E
!>          E is DOUBLE PRECISION array, dimension (N-1)
!>          On entry, the (n-1) subdiagonal elements of the tridiagonal
!>          matrix A.  On exit, the (n-1) subdiagonal elements of the
!>          unit bidiagonal factor L from the L*D*L**T factorization of
!>          A.  (E can also be regarded as the superdiagonal of the unit
!>          bidiagonal factor U from the U**T*D*U factorization of A.)
!>

a DOUBLE PRECISION array, dimension (N-1). on entry, the (n-1) subdiagonal elements of the tridiagonal matrix A. on exit, the (n-1) subdiagonal elements of the unit bidiagonal factor L from the L*D*L**T factorization of A. and bestie, the plot twist: (E can also be regarded as the superdiagonal of the unit bidiagonal factor U from the U**T*D*U factorization of A.) dual identity, we love to see it. πŸ’€

  • B
!>          B is DOUBLE PRECISION array, dimension (LDB,NRHS)
!>          On entry, the N-by-NRHS right hand side matrix B.
!>          On exit, if INFO = 0, the N-by-NRHS solution matrix X.
!>

a DOUBLE PRECISION array, dimension (LDB,NRHS). on entry it's the N-by-NRHS right hand side matrix B. on exit, if INFO = 0, it's the N-by-NRHS solution matrix X. glow-up complete. πŸ’–

  • LDB
!>          LDB is INTEGER
!>          The leading dimension of the array B.  LDB >= max(1,N).
!>

an INTEGER. the leading dimension of the array B. LDB >= max(1,N) β€” that's the vibe check, don't fail it. 🌈

  • INFO
!>          INFO is INTEGER
!>          = 0:  successful exit
!>          < 0:  if INFO = -i, the i-th argument had an illegal value
!>          > 0:  if INFO = i, the leading principal minor of order i
!>                is not positive, and the solution has not been
!>                computed.  The factorization has not been completed
!>                unless i = N.
!>

an INTEGER, and she's the emotional support status code:

  • = 0: successful exit πŸŽ‰ slay
  • < 0: if INFO = -i, the i-th argument had an illegal value 😭
  • > 0: if INFO = i, the leading principal minor of order i is not positive, and the solution has not been computed. the factorization has not been completed unless i = N. πŸ’€ big yikes, read it carefully.
ok real talk bestie β€” a positive INFO means the solution was not computed, so don't go reading B like it's the answer. that's the dangerous part, keep the meaning fr fr. πŸ™

🌟 Author

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

πŸ’œ Definition at line 113 of file dptsv.f.


and that's the whole page, bestie ✨

this legend was Generated automatically by Doxygen for LAPACK from the source code. β€” shoutout to the robots. and the page itself is from LAPACK, Version 3.12.0. go solve something cute. πŸŽ€πŸ’…πŸ«Ά

πŸ“¦ where this page comes from