DTRT01(3)
okay bestie, welcome to the /home/abui...IN/dtrt01.f(3) page from the Library Functions Manual ๐
โจ
๐ธ NAME ๐ธ
bestie, the NAME line is literally this file path. The original had it wrapped after lapack-, exactly like this:
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dtrt01.f
joined up, thatโs:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/dtrt01.f
no cap, thatโs the whole name line ๐ซถ
๐ SYNOPSIS ๐
๐ง Functions/Subroutines ๐ง
subroutine DTRT01 (uplo, diag, n, a, lda, ainv, ldainv, rcond, work, resid)โ this is the one, the main character ๐DTRT01โ and yeah, the subroutine is literally namedDTRT01
subroutine DTRT01 (uplo, diag, n, a, lda, ainv, ldainv, rcond, work,
resid)
DTRT01
๐ฆ Function/Subroutine Documentation ๐ฆ
subroutine DTRT01 (character uplo, character diag, integer n, double
precision, dimension( lda, * ) a, integer lda, double precision,
dimension( ldainv, * ) ainv, integer ldainv, double precision rcond,
double precision, dimension( * ) work, double precision resid)
DTRT01
โจ Purpose โจ
okay so DTRT01 computes the residual for a triangular matrix A times its inverse, and the formula is giving:
RESID = norm( A*AINV - I ) / ( N * norm(A) * norm(AINV) * EPS ),
where EPS is the machine epsilon. periodt ๐ซ
๐ Parameters ๐
UPLOโUPLOisCHARACTER*1. It specifies whether the matrixAis upper or lower triangular.= 'U': Upper triangular;= 'L': Lower triangular. pick your triangle, bestie ๐บDIAGโDIAGisCHARACTER*1. It specifies whether or not the matrixAis unit triangular.= 'N': Non-unit triangular;= 'U': Unit triangular. so iconic of it ๐NโNisINTEGER. The order of the matrixA.N >= 0.AโAisDOUBLE PRECISION array, dimension (LDA,N). Itโs the triangular matrixA. IfUPLO = 'U', the leading n by n upper triangular part of the arrayAcontains the upper triangular matrix, and the strictly lower triangular part ofAis not referenced. IfUPLO = 'L', the leading n by n lower triangular part of the arrayAcontains the lower triangular matrix, and the strictly upper triangular part ofAis not referenced. IfDIAG = 'U', the diagonal elements ofAare also not referenced and are assumed to be1. slay the storage format ๐ฅLDAโLDAisINTEGER. The leading dimension of the arrayA.LDA >= max(1,N).AINVโAINVisDOUBLE PRECISION array, dimension (LDAINV,N). On entry, itโs the (triangular) inverse of the matrixA, in the same storage format asA. On exit, the contents ofAINVare destroyed.
bestie, listen: AINV gets destroyed on exit. not a drill ๐
LDAINVโLDAINVisINTEGER. The leading dimension of the arrayAINV.LDAINV >= max(1,N).RCONDโRCONDisDOUBLE PRECISION. The reciprocal condition number ofA, computed as1/(norm(A) * norm(AINV)). math girlie behavior ๐งฎโจWORKโWORKisDOUBLE PRECISION array, dimension (N). itโs the workspace, doing its little job ๐ซถRESIDโRESIDisDOUBLE PRECISION. Itโs:
norm(A*AINV - I) / ( N * norm(A) * norm(AINV) * EPS )
and thatโs the whole residual vibe check ๐
๐ Author ๐
Univ. of TennesseeUniv. of California BerkeleyUniv. of Colorado DenverNAG Ltd.
Definition at line 122 of file dtrt01.f. ๐ง
๐ Author ๐
Generated automatically by Doxygen for LAPACK from the source code.
okay thatโs the whole page! signing off from LAPACK Version 3.12.0 at /home/abui...IN/dtrt01.f(3) ๐โจ
๐ฆ 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