CTPT01(3)
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
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms