TESTING/LIN/zppt01.f(3)

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

πŸ’– NAME πŸ’–

Okay so we're in the Library Functions Manual, and the page title is TESTING/LIN/zppt01.f(3) β€” the file is TESTING/LIN/zppt01.f, and it's giving β€œtest routine for a Hermitian positive definite packed matrix” energy. πŸ’…βœ¨

✨ SYNOPSIS ✨

🌸 Functions/Subroutines 🌸

The function roster is literally one icon, bestie:

subroutine zppt01 (uplo, n, a, afac, rwork, resid)
    ZPPT01

πŸ¦‹ Function/Subroutine Documentation πŸ¦‹

Here's the full glow-up signature, exactly as printed:

subroutine zppt01 (character uplo, integer n, complex*16, dimension( * ) a,
    complex*16, dimension( * ) afac, double precision, dimension( * ) rwork,
    double precision resid)
    ZPPT01

πŸŽ€ Purpose πŸŽ€

Not me about to explain the whole vibe: ZPPT01 reconstructs a Hermitian positive definite packed matrix A from its L*L' or U'*U factorization, and it computes the residual

norm( L*L' - A ) / ( N * norm(A) * EPS ) or
norm( U'*U - 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. 🫢

🌈 Parameters 🌈

Here's the cast, and every single one of them matters:

πŸ’… UPLO

UPLO is CHARACTER*1. It 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. It's the number of rows and columns of the matrix A. Constraint check, bestie: N >= 0.

🌟 A

A is COMPLEX*16 array, dimension (N*(N+1)/2). It's the original Hermitian matrix A, stored as a packed triangular matrix.

πŸ’œ AFAC

AFAC is COMPLEX*16 array, dimension (N*(N+1)/2). On entry, it holds the factor L or U from the L*L' or U'*U factorization of A, stored as a packed triangular matrix. Then it gets overwritten with the reconstructed matrix, and after that with the difference L*L' - A (or U'*U - A).

πŸ“ RWORK

RWORK is DOUBLE PRECISION array, dimension (N). That's the whole note, no cap.

πŸ”₯ RESID

RESID is DOUBLE PRECISION. Its value depends on UPLO:

  • If UPLO = 'L', it's norm(L*L' - A) / ( N * norm(A) * EPS )
  • If UPLO = 'U', it's norm(U'*U - A) / ( N * norm(A) * EPS )

πŸ‘‘ Author πŸ‘‘

Shoutout to the institutions behind this:

  • Univ. of Tennessee
  • Univ. of California Berkeley
  • Univ. of Colorado Denver
  • NAG Ltd.

The actual definition? Definition at line 94 of file zppt01.f. πŸ“

⭐ Author ⭐

And the auto-generated credit line is:

Generated automatically by Doxygen for LAPACK from the source code.


Cute sign-off time: this page is from LAPACK Version 3.12.0, source/page TESTING/LIN/zppt01.f(3) β€” and the date? The footer didn't hand me one, so I'm not inventing it, periodt. πŸ’–βœ¨

πŸ“¦ where this page comes from