ZTRT01(3)
π ZTRT01(3) β like, the manual page, bestie
okay so real talk: this is from the Library Functions Manual, and the file lives at /home/abui...IN/ztrt01.f(3). iconic path, slightly cursed, we move.
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/ztrt01.f
like, that's the whole name. it's a whole journey. the file is literally the name. periodt.
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine ZTRT01 (uplo, diag, n, a, lda, ainv, ldainv, rcond, rwork,
resid)
ZTRT01
π Function/Subroutine Documentation π
subroutine ZTRT01 (character uplo, character diag, integer n, complex*16,
dimension( lda, * ) a, integer lda, complex*16, dimension( ldainv, * )
ainv, integer ldainv, double precision rcond, double precision,
dimension( * ) rwork, double precision resid)
ZTRT01
π Purpose π
!> !> ZTRT01 computes the residual for a triangular matrix A times its !> inverse: !> RESID = norm( A*AINV - I ) / ( N * norm(A) * norm(AINV) * EPS ), !> where EPS is the machine epsilon. !>
like yes bestie, it's a vibe check on whether A and AINV are actually inverses. math queen behavior π
πΈ Parameters πΈ
UPLO
!> UPLO is CHARACTER*1 !> Specifies whether the matrix A is upper or lower triangular. !> = 'U': Upper triangular !> = 'L': Lower triangular !>
so you literally just tell it which triangle we're living in. 'U' for upper, 'L' for lower, no in-between π«Ά
DIAG
!> DIAG is CHARACTER*1 !> Specifies whether or not the matrix A is unit triangular. !> = 'N': Non-unit triangular !> = 'U': Unit triangular !>
'N' means non-unit, 'U' means unit. one character, big consequences, we love a minimal icon β¨
N
!> N is INTEGER !> The order of the matrix A. N >= 0. !>
the order of the matrix, and it's gotta be N >= 0. negative N is NOT the move π
A
!> A is COMPLEX*16 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. !>
okay so: COMPLEX*16 array, dimension (LDA,N). if UPLO = 'U', the leading n by n upper triangular part holds the matrix and the strictly lower triangular part is literally not referenced (ignored, ghosted, uninvited). if UPLO = 'L', flip that β leading n by n lower triangular part holds it, strictly upper triangular part is not referenced. and if DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. assuming, bestie. they never even check. π
LDA
!> LDA is INTEGER !> The leading dimension of the array A. LDA >= max(1,N). !>
leading dimension of A, and it must be LDA >= max(1,N). rules are rules π
AINV
!> AINV is COMPLEX*16 array, dimension (LDAINV,N) !> On entry, the (triangular) inverse of the matrix A, in the !> same storage format as A. !> On exit, the contents of AINV are destroyed. !>
on entry it's the (triangular) inverse of A, stored the same way as A. on exit? the contents of AINV are destroyed. not me being dramatic, that's literally what it says π so like, don't get attached π
LDAINV
!> LDAINV is INTEGER !> The leading dimension of the array AINV. LDAINV >= max(1,N). !>
leading dimension of AINV, LDAINV >= max(1,N). same energy as LDA, different letter π¦
RCOND
!> RCOND is DOUBLE PRECISION !> The reciprocal condition number of A, computed as !> 1/(norm(A) * norm(AINV)). !>
DOUBLE PRECISION, the reciprocal condition number of A, computed as 1/(norm(A) * norm(AINV)). cute little fraction, very demure β¨
RWORK
!> RWORK is DOUBLE PRECISION array, dimension (N) !>
DOUBLE PRECISION array, dimension (N). it's the workspace, it's doing its thing, we respect it π
RESID
!> RESID is DOUBLE PRECISION !> norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ) !>
DOUBLE PRECISION, and it comes out as norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS ). that's the whole point of the function, this is the main character right here π
π Author π
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
four whole institutions, collaborating, for this. slay π«Ά
Definition at line 123 of file ztrt01.f.
π Author (again, yes really) π
Generated automatically by Doxygen for LAPACK from the source code.
like nobody hand-wrote this, a robot did it, and honestly? it ate π€β¨
mwah π that's the whole page, no notes. LAPACK, Version 3.12.0, footer date /home/abui...IN/ztrt01.f(3) β go forth and compute residuals, bestie πππΈ
π¦ 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