ZLAQHP(3)

πŸ“¦ version 3.12.0, in opensuse-leap 16.0

🌸 NAME 🌸

/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/zlaqhp.f

Okay bestie, manual name folded in near the top: this is the ZLAQHP(3) page from the Library Functions Manual, and the header energy is all zlaqhp.f(3). It’s giving LAPACK + Fortran realness. πŸ’…

✨ SYNOPSIS ✨

Functions/Subroutines πŸ’–

  • subroutine ZLAQHP (uplo, n, ap, s, scond, amax, equed) β€” the main-character subroutine that scales a Hermitian matrix stored in packed form.

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

subroutine ZLAQHP (character uplo, integer n, complex*16, dimension( * ) ap,
    double precision, dimension( * ) s, double precision scond, double
    precision amax, character equed)

ZLAQHP does exactly this: it scales a Hermitian matrix stored in packed form. No cap.

Purpose

The whole assignment is: ZLAQHP equilibrates a Hermitian matrix A using the scaling factors in the vector S. That’s the purpose, and it ate. 🫢

Parameters

  • UPLO β€” CHARACTER*1. Tells you whether the upper or lower triangular part of the Hermitian matrix A is stored: = 'U': Upper triangular; = 'L': Lower triangular. Pick your triangle, bestie. πŸ’–
  • N β€” INTEGER. The order of the matrix A. N >= 0.
  • AP β€” COMPLEX*16 array, dimension (N*(N+1)/2). On entry, it holds the upper or lower triangle of the Hermitian matrix A, packed columnwise in a linear array. The j-th column of A is stored in AP like this: if UPLO = 'U', AP(i + (j-1)*j/2) = A(i,j) for 1<=i<=j; and if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j) for j<=i<=n. On exit, it holds the equilibrated matrix: diag(S) * A * diag(S), in the same storage format as A. Literally the glow-up happens in place. ✨
  • S β€” DOUBLE PRECISION array, dimension (N). The scale factors for A.
  • SCOND β€” DOUBLE PRECISION. Ratio of the smallest S(i) to the largest S(i).
  • AMAX β€” DOUBLE PRECISION. Absolute value of largest matrix entry.
  • EQUED β€” CHARACTER*1. Specifies whether or not equilibration was done: = 'N': No equilibration.; = 'Y': Equilibration was done, i.e., A has been replaced by diag(S) * A * diag(S). The receipts are right there. 🧾

Internal Parameters

  • THRESH β€” a threshold value used to decide if scaling should be done based on the ratio of the scaling factors. If SCOND < THRESH, scaling is done. It’s the ratio vibe check. πŸ’…
  • LARGE and SMALL β€” threshold values used to decide if scaling should be done based on the absolute size of the largest matrix element. If AMAX > LARGE or AMAX < SMALL, scaling is done.

Author

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

Definition at line 125 of file zlaqhp.f.

Author πŸŽ€ (the Doxygen auto-generated note)

Generated automatically by Doxygen for LAPACK from the source code.


That’s the whole page, bb πŸ’– Footer vibes: LAPACK Version 3.12.0, path /home/abui...RC/zlaqhp.f(3). Stay packed and equilibrated ✨

πŸ“¦ where this page comes from