SRC/ctrtrs.f(3)

SRC/ctrtrs.f(3)

okay bestie, welcome to the Library Functions Manual page for SRC/ctrtrs.f(3) β€” the LAPACK triangular-solve subroutine that is genuinely doing the most. πŸ’…βœ¨


πŸ’– NAME

SRC/ctrtrs.f β€” that’s the file, periodt. πŸŽ€

✨ SYNOPSIS ✨

Functions/Subroutines

subroutine ctrtrs (uplo, trans, diag, n, nrhs, a, lda, b, ldb, info)
    CTRTRS

🫢 Function/Subroutine Documentation 🫢

subroutine ctrtrs (...)

subroutine ctrtrs (character uplo, character trans, character diag, integer n, integer nrhs, complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b, integer ldb, integer info)
    CTRTRS

CTRTRS is right here, bestie. πŸ¦‹

🌸 Purpose

Okay so CTRTRS solves a triangular system of the form

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

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

⚠️ It 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 tea.

πŸŽ€ 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)
  • 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.
  • A β€” A is COMPLEX 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 β€” LDA is INTEGER. The leading dimension of the array A. LDA >= max(1,N).
  • B β€” B is COMPLEX 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 144 of file ctrtrs.f.

🌈 Author

Generated automatically by Doxygen for LAPACK from the source code.


That’s the whole page, bestie β€” LAPACK Version 3.12.0, SRC/ctrtrs.f(3). Stay triangular and hydrated πŸ’–πŸ§šβ€β™€οΈπŸ”₯

πŸ“¦ where this page comes from