SRC/stbtrs.f(3)

SRC/stbtrs.f(3) πŸ’…

okay so this page came from the Library Functions Manual, and it's literally all about SRC/stbtrs.f β€” aka the STBTRS subroutine. bestie, we're doing triangular band matrix realness today, and yes it's giving linear algebra main character energy. πŸ¦‹


πŸ’– NAME

SRC/stbtrs.f


✨ SYNOPSIS

Under Functions/Subroutines, the whole vibe is:

subroutine stbtrs (uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb,
     info)

and the name is STBTRS. iconic. πŸ‘‘


πŸ¦‹ Function/Subroutine Documentation

Here's the full signature, exactly as it is, no cap:

subroutine stbtrs (character uplo, character trans, character diag, integer
     n, integer kd, integer nrhs, real, dimension( ldab, * ) ab, integer
     ldab, real, dimension( ldb, * ) b, integer ldb, integer info)

STBTRS β€” that's the subroutine, that's the moment. πŸ’«

🌸 Purpose

so STBTRS solves a triangular system of the form

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

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

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. like, please do your own vibe check first, bestie.

πŸŽ€ Parameters

UPLO

UPLO is CHARACTER*1

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

TRANS

TRANS is CHARACTER*1

Specifies the form 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.

KD

KD is INTEGER

The number of superdiagonals or subdiagonals of the triangular band matrix A. KD >= 0.

NRHS

NRHS is INTEGER

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

AB

AB is REAL array, dimension (LDAB,N)

The upper or lower triangular band matrix A, stored in the first kd+1 rows of AB. The j-th column of A is stored in the j-th column of the array AB as follows:

if UPLO = 'U', AB(kd+1+i-j,j) = A(i,j) for max(1,j-kd)<=i<=j;
if UPLO = 'L', AB(1+i-j,j)    = A(i,j) for j<=i<=min(n,j+kd).

If DIAG = 'U', the diagonal elements of A are not referenced and are assumed to be 1.

LDAB

LDAB is INTEGER

The leading dimension of the array AB. LDAB >= KD+1.

B

B is REAL 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 150 of file stbtrs.f.


Author

Generated automatically by Doxygen for LAPACK from the source code.


byeee bestie πŸ’– this page is SRC/stbtrs.f(3) from LAPACK Version 3.12.0 β€” mwah, see u βœ¨πŸŽ€

πŸ“¦ where this page comes from