CTPT01(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

CTPT01(3) πŸ’…βœ¨ β€” Library Functions Manual

okay bestie, gather round, because this page is about one very specific LAPACK test file and we are gonna give it the main-character treatment. πŸ‘‘

NAME πŸ“

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/ctpt01.f

That's the file this page is about. It's giving β€œone specific source file in the LAPACK TESTING/LIN zone” energy, and honestly? Iconic. ✨

SYNOPSIS 🌈

Functions/Subroutines πŸŽ€

Two signature sightings, both for CTPT01:

  • subroutine CTPT01 (uplo, diag, n, ap, ainvp, rcond, rwork, resid) β€” CTPT01, short and sweet.
  • subroutine CTPT01 (character uplo, character diag, integer n, complex, dimension( * ) ap, complex, dimension( * ) ainvp, real rcond, real, dimension( * ) rwork, real resid) β€” CTPT01, fully typed edition.

Function/Subroutine Documentation 🧚

Here's the typed signature again, because the original page said it twice and we are not skipping details, no cap:

subroutine CTPT01 (character uplo, character diag, integer n, complex, dimension( * ) ap, complex, dimension( * ) ainvp, real rcond, real, dimension( * ) rwork, real resid)

CTPT01

Purpose πŸ’–

CTPT01 computes the residual for a triangular matrix A times its inverse when A is stored in packed format:

RESID = norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ),

where EPS is the machine epsilon. Math bestie ate that. πŸ”₯

Parameters πŸ’…

UPLO

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

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

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. N >= 0.

AP

AP is COMPLEX array, dimension (N*(N+1)/2). It holds the original 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((j-1)*j/2 + i) = A(i,j) for 1<=i<=j;
if UPLO = 'L',
   AP((j-1)*(n-j) + j*(j+1)/2 + i-j) = A(i,j) for j<=i<=n.

AINVP

AINVP is COMPLEX array, dimension (N*(N+1)/2). On entry, it's the (triangular) inverse of the matrix A, packed columnwise in a linear array as in AP.

On exit, the contents of AINVP are destroyed. So yes, your input gets yeeted. πŸ’€

RCOND

RCOND is REAL. It's the reciprocal condition number of A, computed as 1/(norm(A) * norm(AINV)).

RWORK

RWORK is REAL array, dimension (N).

RESID

RESID is REAL, and it's:

norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS )

Author πŸ‘‘

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

Definition at line 108 of file ctpt01.f.

Author (auto-generated) πŸ€–

Generated automatically by Doxygen for LAPACK from the source code.


okay that's the whole manual page, bestie. The bottom-line source/version shoutout is LAPACK Version 3.12.0, with footer source path /home/abui...IN/ctpt01.f(3) β€” periodt. πŸŽ€βœ¨πŸ«Ά

πŸ“¦ where this page comes from