TESTING/LIN/cpst01.f(3)
π cpst01: reconstruct + residual bestie check π
okay so welcome to the manual page for TESTING/LIN/cpst01.f(3) β this is where cpst01 reconstructs a Hermitian positive semidefinite matrix from its factors and a permutation matrix, then does the residual math. literally iconic behavior. π
πΈ NAME πΈ
TESTING/LIN/cpst01.f
β¨ SYNOPSIS β¨
π Functions/Subroutines π
subroutine cpst01 (uplo, n, a, lda, afac, ldafac, perm, ldperm, piv,
rwork, resid, rank)
CPST01
π¦ Function/Subroutine Documentation π¦
π subroutine cpst01 π
subroutine cpst01 (character uplo, integer n, complex, dimension( lda, * )
a, integer lda, complex, dimension( ldafac, * ) afac, integer ldafac,
complex, dimension( ldperm, * ) perm, integer ldperm, integer,
dimension( * ) piv, real, dimension( * ) rwork, real resid, integer
rank)
CPST01
π Purpose π
okay bestie, hereβs the whole vibe: CPST01 reconstructs an Hermitian positive semidefinite matrix A from its L or U factors and the permutation matrix P, and computes the residual
norm( P*L*L'*P' - A ) / ( N * norm(A) * EPS ) or
norm( P*U'*U*P' - A ) / ( N * norm(A) * EPS ),
where EPS is the machine epsilon, L' is the conjugate transpose of L, and U' is the conjugate transpose of U. no cap, thatβs the whole point. β¨
π§Έ Parameters π§Έ
UPLO
UPLO is CHARACTER*1 and specifies whether the upper or lower triangular part of the Hermitian matrix A is stored:
= 'U': Upper triangular= 'L': Lower triangular
N
N is INTEGER β the number of rows and columns of the matrix A. N >= 0.
A
A is COMPLEX array, dimension (LDA,N) β the original Hermitian matrix A.
LDA
LDA is INTEGER β the leading dimension of the array A. LDA >= max(1,N)
AFAC
AFAC is COMPLEX array, dimension (LDAFAC,N) β the factor L or U from the L*L' or U'*U factorization of A.
LDAFAC
LDAFAC is INTEGER β the leading dimension of the array AFAC. LDAFAC >= max(1,N).
PERM
PERM is COMPLEX array, dimension (LDPERM,N) β overwritten with the reconstructed matrix, and then with the difference P*L*L'*P' - A (or P*U'*U*P' - A).
LDPERM
LDPERM is INTEGER β the leading dimension of the array PERM. LDAPERM >= max(1,N).
not me pointing out that the page literally saysLDAPERMhere, notLDPERMβ Iβm just preserving the original, bestie. π
PIV
PIV is INTEGER array, dimension (N) β PIV is such that the nonzero entries are P( PIV( K ), K ) = 1.
RWORK
RWORK is REAL array, dimension (N).
RESID
RESID is REAL.
- If
UPLO = 'L',norm(L*L' - A) / ( N * norm(A) * EPS ) - If
UPLO = 'U',norm(U'*U - A) / ( N * norm(A) * EPS )
RANK
RANK is INTEGER β number of nonzero singular values of A.
π Author π
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
Definition at line 134 of file cpst01.f.
π Author π
Generated automatically by Doxygen for LAPACK from the source code.
mwah π β source/version: LAPACK Version 3.12.0, page: TESTING/LIN/cpst01.f(3); the footer gave no date, so no fake date bestie. π«Ά
π¦ 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