SRC/dtptrs.f(3)

okay so bestie, we're looking at SRC/dtptrs.f(3) from the Library Functions Manual β€” and it's literally the manual page for the Fortran subroutine dtptrs. This is giving "linear algebra but make it packed triangular" ✨.

πŸ’– NAME πŸ’–

SRC/dtptrs.f

🌸 SYNOPSIS 🌸

🧚 Functions/Subroutines 🧚

  • subroutine dtptrs (uplo, trans, diag, n, nrhs, ap, b, ldb, info) β€” DTPTRS

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

subroutine dtptrs (character uplo, character trans, character diag, integer n, integer nrhs, double precision, dimension( * ) ap, double precision, dimension( ldb, * ) b, integer ldb, integer info)

DTPTRS

🎯 Purpose 🎯

Okay so the whole point: DTPTRS solves a triangular system of the form

A * X = B  or  A**T * X = B,

where A is a triangular matrix of order N stored in packed format, and B is an N-by-NRHS matrix.

Bestie, important caveat: this subroutine verifies that A is nonsingular, but callers should note that only exact singularity is detected. It is conceivable for one or more diagonal elements of A to be subnormally tiny numbers without this subroutine signalling an error.

If a possible loss of numerical precision due to near-singular matrices is a concern, the caller should verify that A is nonsingular within some tolerance before calling this subroutine. No cap, that's the warning. 🫢

✨ Parameters ✨

πŸ’… UPLO

UPLO is CHARACTER*1

  • = 'U': A is upper triangular;
  • = 'L': A is lower triangular.

πŸŒ€ TRANS

TRANS is CHARACTER*1 Specifies the form of the system of equations:

  • = 'N': A * X = B (No transpose)
  • = 'T': A**T * X = B (Transpose)
  • = 'C': A**H * X = B (Conjugate transpose = Transpose)

πŸ“ DIAG

DIAG is CHARACTER*1

  • = 'N': A is non-unit triangular;
  • = 'U': A is unit triangular.

🌈 N

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

πŸ’œ 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 upper or lower triangular matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows:

  • if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j;
  • if UPLO = 'L', AP(i + (j-1)*(2*n-j)/2) = A(i,j) for j<=i<=n.

πŸ¦‹ B

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

πŸ‘‘ LDB

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

πŸ”₯ INFO

INFO is INTEGER

  • = 0: successful exit
  • < 0: if INFO = -i, the i-th argument had an illegal value
  • > 0: if INFO = i, the i-th diagonal element of A is exactly zero, indicating that the matrix is singular and the solutions X have not been computed.

πŸ‘‘ Author πŸ‘‘

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

πŸ“Œ Definition at line πŸ“Œ

Definition at line 134 of file dtptrs.f.

πŸ’œ Author πŸ’œ

Generated automatically by Doxygen for LAPACK from the source code.


That's the whole vibe, bestie πŸ’– β€” footer check: LAPACK Version 3.12.0, SRC/dtptrs.f(3). Byeee 🫢✨

πŸ“¦ where this page comes from