SRC/dtrtrs.f(3)

πŸ’– SRC/dtrtrs.f(3) β€” Library Functions Manual πŸ’–

🌸 NAME 🌸

SRC/dtrtrs.f

✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

       subroutine dtrtrs (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info)
           DTRTRS

🌈 Function/Subroutine Documentation 🌈

πŸ’« subroutine dtrtrs πŸ’«

subroutine dtrtrs (character uplo, character trans, character diag, integer
       n, integer nrhs, double precision, dimension( lda, * ) a, integer lda,
       double precision, dimension( ldb, * ) b, integer ldb, integer info)

DTRTRS is the main character here, no cap πŸ’…

πŸ¦‹ Purpose πŸ¦‹

Okay so bestie, DTRTRS solves a triangular system of the form

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

where A is a triangular matrix of order N, and B is an N-by-NRHS matrix. Iconic. ✨

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. That part is important, bestie β€” don’t skip the vibe check. πŸ’€

🌟 Parameters 🌟

  • UPLO β€” is CHARACTER*1
    • = 'U': A is upper triangular;
    • = 'L': A is lower triangular.
  • 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 β€” is CHARACTER*1
    • = 'N': A is non-unit triangular;
    • = 'U': A is unit triangular.
  • N β€” is INTEGER; the order of the matrix A. N >= 0.
  • NRHS β€” is INTEGER; the number of right hand sides, i.e., the number of columns of the matrix B. NRHS >= 0.
  • A β€” is DOUBLE PRECISION array, dimension (LDA,N); the triangular matrix A.
    • If UPLO = 'U', the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced.
    • If UPLO = 'L', the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced.
    • If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1.
  • LDA β€” is INTEGER; the leading dimension of the array A. LDA >= max(1,N).
  • 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 β€” is INTEGER; the leading dimension of the array B. LDB >= max(1,N).
  • 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 144 of file dtrtrs.f.

🧚 Author 🧚

Generated automatically by Doxygen for LAPACK from the source code.


bye bestie! This little page is from LAPACK Version 3.12.0 and lives at SRC/dtrtrs.f(3) β€” slay responsibly πŸ’…πŸ’–βœ¨

πŸ“¦ where this page comes from