/home/abui...t01_rook.f(3)
π¦ /home/abui...t01_rook.f(3) π¦
okay bestie, this page is straight out of the Library Functions Manual and it's all about one little Fortran file. No cap, the whole glow-up is here. β¨
β¨ NAME β¨
It's literally this path, bestie:
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/chet01_rook.f
That's the name. That's the whole NAME section. Periodt. π
π¦ SYNOPSIS π¦
π§ Functions/Subroutines
Functions/Subroutines
subroutine CHET01_ROOK (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc,
rwork, resid)
CHET01_ROOK
π Function/Subroutine Documentation π
Here's the signature in all its exact, character-for-character glory:
subroutine CHET01_ROOK (character uplo, integer n, complex, dimension( lda,
* ) a, integer lda, complex, dimension( ldafac, * ) afac, integer
ldafac, integer, dimension( * ) ipiv, complex, dimension( ldc, * ) c,
integer ldc, real, dimension( * ) rwork, real resid)
CHET01_ROOK
πΈ Purpose πΈ
So CHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization, and then it computes the residual:
norm( C - A ) / ( N * norm(A) * EPS )
where C is the reconstructed matrix, EPS is the machine epsilon, L' is the transpose of L, and U' is the transpose of U. That's the whole tea. π«Ά
π Parameters π
π UPLO
UPLO is CHARACTER*1. It specifies whether the upper or lower triangular part of the complex Hermitian matrix A is stored:
= 'U': Upper triangular= 'L': Lower triangular
π N
N is INTEGER. It's the number of rows and columns of the matrix A. And bestie, N >= 0. π
π A
A is COMPLEX array, dimension (LDA,N). It's the original complex Hermitian matrix A. iconic.
π LDA
LDA is INTEGER. It's the leading dimension of the array A. Also: LDA >= max(1,N). No skipping that check. π
π AFAC
AFAC is COMPLEX array, dimension (LDAFAC,N). It's the factored form of the matrix A. AFAC contains the block diagonal matrix D and the multipliers used to obtain the factor L or U from the block L*D*L' or U*D*U' factorization as computed by CSYTRF_ROOK. fr fr. π¦
π LDAFAC
LDAFAC is INTEGER. It's the leading dimension of the array AFAC. And yes: LDAFAC >= max(1,N). π
π IPIV
IPIV is INTEGER array, dimension (N). These are the pivot indices from CSYTRF_ROOK. periodt. π
π C
C is COMPLEX array, dimension (LDC,N). That's the description. Short and mysterious. main character energy. π
π LDC
LDC is INTEGER. It's the leading dimension of the array C. Also LDC >= max(1,N). You already know. β¨
π RWORK
RWORK is REAL array, dimension (N). That's it. That's the vibe. π
π RESID
RESID is REAL. Here's the exact breakdown:
If UPLO = 'L', norm(L*D*L' - A) / ( N * norm(A) * EPS )
If UPLO = 'U', norm(U*D*U' - A) / ( N * norm(A) * EPS )
So yes, the formula depends on UPLO. slay. π₯
π Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 123 of file chet01_rook.f. π
π Author π
This page was Generated automatically by Doxygen for LAPACK from the source code. So it's not a handwritten love letter, it's a generated one. still iconic. π
mwah π β cute little sign-off time: the footer says LAPACK Version 3.12.0 and the page path is /home/abui...t01_rook.f(3). That's the whole footer, 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