ZSPT01(3)
πΈ ZSPT01(3) β like, the packed symmetric-indefinite reconstruction checker, bestie π
okay so this one lives in the Library Functions Manual section (section 3, the fun one), and the file itself is:
/home/abuild/rpmbuild/BUILD/lapack-
static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zspt01.f
yes the path is doing the absolute most, i know π it's a testing file, it's that girl, she lives in TESTING/LIN.
β¨ NAME β¨
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/LIN/zspt01.f β that's the whole name, no notes, that's just how it is π«Ά
π¦ SYNOPSIS π¦
Functions/Subroutines
subroutine ZSPT01 (uplo, n, a, afac, ipiv, c, ldc, rwork, resid)β the one and only, the main character herself π«
π Function/Subroutine Documentation π
subroutine ZSPT01 (character uplo, integer n, complex*16, dimension( * ) a,
complex*16, dimension( * ) afac, integer, dimension( * ) ipiv,
complex*16, dimension( ldc, * ) c, integer ldc, double precision,
dimension( * ) rwork, double precision resid)
ZSPT01 β say it with me, Z-S-P-T-zero-one π
π§ Purpose π§
okay so here's the vibe, straight up:
ZSPT01reconstructs a symmetric indefinite packed matrixAfrom its diagonal pivoting factorizationA = U*D*U'orA = L*D*L'and computes the residualnorm( C - A ) / ( N * norm(A) * EPS ),whereCis the reconstructed matrix andEPSis the machine epsilon.
so it rebuilds A from the factorization, then checks how far off the rebuilt thing is. that's the whole personality. lowkey iconic π₯
π Parameters π
UPLOβUPLO is CHARACTER*1. tells us which triangular part of the Hermitian matrixAgot stored, bestie:= 'U':upper triangular π= 'L':lower triangular π
NβN is INTEGER. the order of the matrixA. and listen,N >= 0. respect the boundary or else πAβA is COMPLEX*16 array, dimension (N*(N+1)/2). the original symmetric matrixA, stored as a packed triangular matrix. all cozy and compressed β¨AFACβAFAC is COMPLEX*16 array, dimension (N*(N+1)/2). the factored form of the matrixA, stored as a packed triangular matrix.AFACcontains the block diagonal matrixDand the multipliers used to obtain the factorLorUfrom theL*D*L'orU*D*U'factorization as computed byZSPTRF. so likeβ¦ZSPTRFdid the work,AFACis holding the receipts π§ΎπIPIVβIPIV is INTEGER array, dimension (N). the pivot indices fromZSPTRF. that's it, that's the whole job π―CβC is COMPLEX*16 array, dimension (LDC,N). that's the whole description. no notes. she's mysterious like that π¦LDCβLDC is INTEGER. the leading dimension of the arrayC. andLDC >= max(1,N). don't try it any other way, fr fr βRWORKβRWORK is DOUBLE PRECISION array, dimension (N). double precision workspace, doing double precision things πRESIDβRESID is DOUBLE PRECISION, and here's how it shakes out:- if
UPLO = 'L', thennorm(L*D*L' - A) / ( N * norm(A) * EPS ) - if
UPLO = 'U', thennorm(U*D*U' - A) / ( N * norm(A) * EPS )
- if
same math, different triangle, the duality of woman π«Ά
π Author π
the whole squad, all of them, no cap:
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Definition π
Definition at line 111 of file zspt01.f.
go look at line 111 if you don't believe me π€
β Author (again, but the meta one) β
Generated automatically by Doxygen for LAPACK from the source code. not a human, a robot did this, and honestly? she ate π€β¨
and that's the page!! mwah π LAPACK Version 3.12.0, footer date line reads /home/abui...IN/zspt01.f(3) β bye bestie, go check your residuals π
π¦ 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