TESTING/LIN/dtrt03.f(3)

πŸ“¦
version 3.12.1 Β· 3 versions
, in arch rolling

πŸŽ€ TESTING/LIN/dtrt03.f(3) πŸŽ€

hey bestie, welcome to the TESTING/LIN/dtrt03.f(3) page from the Library Functions Manual. it’s giving β€œLAPACK test routine with main character energy,” and we’re gonna get through every detail together, no cap. πŸ’–


🌸 NAME 🌸

TESTING/LIN/dtrt03.f β€” yes, that’s the file, bestie. iconic name, zero notes. πŸ’…


✨ SYNOPSIS ✨

πŸŽ€ Functions/Subroutines πŸŽ€

       subroutine dtrt03 (uplo, trans, diag, n, nrhs, a, lda, scale, cnorm,
           tscal, x, ldx, b, ldb, work, resid)
           DTRT03

πŸ’– Function/Subroutine Documentation πŸ’–

   subroutine dtrt03 (character uplo, character trans, character diag, integer
       n, integer nrhs, double precision, dimension( lda, * ) a, integer lda,
       double precision scale, double precision, dimension( * ) cnorm, double
       precision tscal, double precision, dimension( ldx, * ) x, integer ldx,
       double precision, dimension( ldb, * ) b, integer ldb, double precision,
       dimension( * ) work, double precision resid)
       DTRT03

okay so, DTRT03 is the routine name, and it’s literally right there at the end. 🫢


πŸ¦‹ Purpose πŸ¦‹

DTRT03 computes the residual for the solution to a scaled triangular system of equations. The two vibes are:

A*x = s*b  or  A'*x = s*b

Here A is a triangular matrix, A' is the transpose of A, s is a scalar, and x and b are N by NRHS matrices. 🌈

The test ratio is the maximum over the number of right hand sides of:

norm(s*b - op(A)*x) / ( norm(op(A)) * norm(x) * EPS ),

where op(A) denotes A or A' and EPS is the machine epsilon. periodt. πŸ’«


🌈 Parameters 🌈

πŸ’… UPLO πŸ’…

UPLO is CHARACTER*1. It specifies whether the matrix A is upper or lower triangular:

  • = 'U': Upper triangular
  • = 'L': Lower triangular

πŸ’… TRANS πŸ’…

TRANS is CHARACTER*1. It specifies the operation applied to A:

  • = 'N': A *x = s*b (No transpose)
  • = 'T': A'*x = s*b (Transpose)
  • = 'C': A'*x = s*b (Conjugate transpose = Transpose)

πŸ’… DIAG πŸ’…

DIAG is CHARACTER*1. It specifies whether or not the matrix A is unit triangular:

  • = 'N': Non-unit triangular
  • = 'U': Unit triangular

πŸ’… N πŸ’…

N is INTEGER. It’s the order of the matrix A. And the rule is: N >= 0. ✨

πŸ’… NRHS πŸ’…

NRHS is INTEGER. It’s the number of right hand sides, i.e., the number of columns of the matrices X and B. And: NRHS >= 0. πŸ¦‹

πŸ’… A πŸ’…

A is a DOUBLE PRECISION array, dimension (LDA,N). It’s the triangular matrix A, bestie. Here’s the tea:

  • 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. It’s the leading dimension of the array A. The rule: LDA >= max(1,N). πŸ’€ do not mess this up.

πŸ’… SCALE πŸ’…

SCALE is DOUBLE PRECISION. It’s the scaling factor s used in solving the triangular system. 🌸

πŸ’… CNORM πŸ’…

CNORM is a DOUBLE PRECISION array, dimension (N). It holds the 1-norms of the columns of A, not counting the diagonal. πŸ‘‘

πŸ’… TSCAL πŸ’…

TSCAL is DOUBLE PRECISION. It’s the scaling factor used in computing the 1-norms in CNORM. And just so you know: CNORM actually contains the column norms of TSCAL*A. 🫢

πŸ’… X πŸ’…

X is a DOUBLE PRECISION array, dimension (LDX,NRHS). It’s the computed solution vectors for the system of linear equations. ✨

πŸ’… LDX πŸ’…

LDX is INTEGER. It’s the leading dimension of the array X. The rule: LDX >= max(1,N). πŸ’–

πŸ’… B πŸ’…

B is a DOUBLE PRECISION array, dimension (LDB,NRHS). It’s the right hand side vectors for the system of linear equations. 🌈

πŸ’… LDB πŸ’…

LDB is INTEGER. It’s the leading dimension of the array B. The rule: LDB >= max(1,N). πŸŽ€

πŸ’… WORK πŸ’…

WORK is a DOUBLE PRECISION array, dimension (N). that’s the whole description, bestie β€” no extra lore. 🫑

πŸ’… RESID πŸ’…

RESID is DOUBLE PRECISION. It’s the maximum over the number of right hand sides of:

norm(op(A)*x - s*b) / ( norm(op(A)) * norm(x) * EPS ).

literally the residual moment. πŸ”₯


πŸ‘‘ Author πŸ‘‘

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

Definition at line 167 of file dtrt03.f. πŸ“Œ


🫢 Author 🫢

Generated automatically by Doxygen for LAPACK from the source code. πŸ€–βœ¨


okay that’s the whole page, bestie β€” source/version sign-off: LAPACK, Version 3.12.0, and the page is TESTING/LIN/dtrt03.f(3). slay, and good luck with those residuals πŸ’…πŸ’–πŸŽ€

πŸ“¦ where this page comes from