ZHET01_ROOK(3)
π ZHET01_ROOK(3) β okay bestie, letβs get into it π
This is the ZHET01_ROOK(3) page from the Library Functions Manual, filed under TESTING/LIN/zhet01_rook.f. Itβs giving βroutine that reconstructs a matrix and checks the residualβ energy. No cap. π
β¨ NAME β¨
TESTING/LIN/zhet01_rook.f β thatβs the file, thatβs the name, weβre not doing mystery here. π¦
πΈ SYNOPSIS πΈ
Functions/Subroutines
subroutine zhet01_rook (uplo, n, a, lda, afac, ldafac, ipiv, c, ldc,
rwork, resid)
And the routine is literally named ZHET01_ROOK. Iconic. π
π¦ Function/Subroutine Documentation π¦
subroutine zhet01_rook (character uplo, integer n, complex*16, dimension(
lda, * ) a, integer lda, complex*16, dimension( ldafac, * ) afac,
integer ldafac, integer, dimension( * ) ipiv, complex*16, dimension(
ldc, * ) c, integer ldc, double precision, dimension( * ) rwork, double
precision resid)
ZHET01_ROOK β yes, again, because the docs said so. Periodt. π
Purpose
Okay so hereβs the vibe: ZHET01_ROOK reconstructs a complex Hermitian indefinite matrix A from its block L*D*L' or U*D*U' factorization, then 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 check, bestie. π₯
Parameters
UPLOβ isCHARACTER*1; it specifies whether the upper or lower triangular part of the complex Hermitian matrixAis stored:= 'U': Upper triangular= 'L': Lower triangular
Nβ isINTEGER; the number of rows and columns of the matrixA.N >= 0.Aβ isCOMPLEX*16 array, dimension (LDA,N); the original complex Hermitian matrixA.LDAβ isINTEGER; the leading dimension of the arrayA.LDA >= max(1,N).AFACβ isCOMPLEX*16 array, dimension (LDAFAC,N); the factored form of the matrixA.AFACcontains the block diagonal matrixDand the multipliers used to obtain the factorLorUfrom the blockL*D*L'orU*D*U'factorization as computed byCSYTRF_ROOK.LDAFACβ isINTEGER; the leading dimension of the arrayAFAC.LDAFAC >= max(1,N).IPIVβ isINTEGER array, dimension (N); the pivot indices fromCSYTRF_ROOK.Cβ isCOMPLEX*16 array, dimension (LDC,N).LDCβ isINTEGER; the leading dimension of the arrayC.LDC >= max(1,N).RWORKβ isDOUBLE PRECISION array, dimension (N).RESIDβ isDOUBLE PRECISION; ifUPLO = 'L', thennorm(L*D*L' - A) / ( N * norm(A) * EPS ); ifUPLO = 'U', thennorm(U*D*U' - A) / ( N * norm(A) * EPS ).
Author
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 123 of file zhet01_rook.f.
Author
Generated automatically by Doxygen for LAPACK from the source code.
Okay bye bestie β this page came from TESTING/LI...et01_rook.f(3), LAPACK Version 3.12.0. Mwah. πβ¨
π¦ where this page comes from
- arch rolling: lapack-doc 3.12.1-2 Β· custom
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms