TESTING/LIN/cpst01.f(3)

πŸ“¦
version 3.12.1 Β· 2 versions
, in arch rolling

πŸ’– 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 says LDAPERM here, not LDPERM β€” 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