SRC/dsptrs.f(3)

πŸ’œ SRC/dsptrs.f β€” the whole vibe

okay so this is the manpage for SRC/dsptrs.f, bestie. it's a Fortran file, it lives in LAPACK, and it's lowkey a legend. come learn with me πŸ’…


✨ SYNOPSIS ✨

Functions/Subroutines

subroutine dsptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)

that's DSPTRS πŸŽ€ (yes the header of the function block literally just says DSPTRS and honestly? iconic of it)


πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

subroutine dsptrs (character uplo, integer n, integer nrhs, double
    precision, dimension( * ) ap, integer, dimension( * ) ipiv, double
    precision, dimension( ldb, * ) b, integer ldb, integer info)

DSPTRS 🌸

🎯 Purpose 🎯

!>
!> DSPTRS solves a system of linear equations A*X = B with a real
!> symmetric matrix A stored in packed format using the factorization
!> A = U*D*U**T or A = L*D*L**T computed by DSPTRF.
!>

so fr fr what it does: it solves A*X = B. A is a real symmetric matrix, and it's stored in packed format πŸ“¦ (no wasted space, we love a minimalist queen). it uses the factorization A = U*D*U**T or A = L*D*L**T that DSPTRF already computed for you. no cap, that's the whole job 🫢


🌈 Parameters 🌈

  • UPLO β€” UPLO is CHARACTER*1. tells us whether the factorization details are stored as an upper or lower triangular matrix:
    • = 'U': upper triangular, form is A = U*D*U**T;
    • = 'L': lower triangular, form is A = L*D*L**T.
  • N β€” N is INTEGER. the order of the matrix A. and babes, N >= 0 β€” that's the rule ✨
  • NRHS β€” NRHS is INTEGER. the number of right hand sides, i.e. the number of columns of the matrix B. NRHS >= 0 πŸ’–
  • AP β€” AP is DOUBLE PRECISION array, dimension (N*(N+1)/2). the block diagonal matrix D plus the multipliers used to obtain the factor U or L as computed by DSPTRF, stored as a packed triangular matrix. so much info in so little space, she's efficient πŸ”₯
  • IPIV β€” IPIV is INTEGER array, dimension (N). the details of the interchanges and the block structure of D as determined by DSPTRF. receipts, basically πŸ’…
  • B β€” B is DOUBLE PRECISION array, dimension (LDB,NRHS). on entry, the right hand side matrix B. on exit, the solution matrix X. she goes in one girl and comes out a whole different girl 😭✨
  • LDB β€” LDB is INTEGER. the leading dimension of the array B. and LDB >= max(1,N) β€” do not test her on this one 🫢
  • INFO β€” INFO is INTEGER:
    • = 0: successful exit πŸŽ‰ slay
    • < 0: if INFO = -i, the i-th argument had an illegal value πŸ™ˆ (so like, check your args bestie)

πŸ‘‘ Author πŸ‘‘

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

πŸ“Œ Definition at line 114 of file dsptrs.f.

⭐ Author (the meta one) ⭐

Generated automatically by Doxygen for LAPACK from the source code. (not a human, just vibes and a perl script 🧚)


and that's the page!! thanks for coming to my ted talk πŸ“ stay packed, stay factored πŸ’œ

β€” with love, from LAPACK, Version 3.12.0, dated SRC/dsptrs.f(3) πŸ’–πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from