ZLAHILB(3)

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

okay so bestie, welcome to zlahilb.f(3) from the Library Functions Manual β€” page path up top is /home/abui...N/zlahilb.f(3) πŸ’…βœ¨. This is the LAPACK zone, and it's giving very specific numerical icon energy.

🌸 NAME 🌸

  • /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/TESTING/MATGEN/zlahilb.f

πŸ¦‹ SYNOPSIS πŸ¦‹

✨ Functions/Subroutines ✨

   Functions/Subroutines
       subroutine ZLAHILB (n, nrhs, a, lda, x, ldx, b, ldb, work, info, path)
           ZLAHILB

🧚 Function/Subroutine Documentation 🧚

   subroutine ZLAHILB (integer n, integer nrhs, complex*16, dimension(lda,n) a,
       integer lda, complex*16, dimension(ldx, nrhs) x, integer ldx,
       complex*16, dimension(ldb, nrhs) b, integer ldb, double precision,
       dimension(n) work, integer info, character*3 path)
       ZLAHILB

🌟 Purpose 🌟

okay so what does it actually do? ZLAHILB generates an N by N scaled Hilbert matrix in A, plus NRHS right-hand sides in B and solutions in X such that A*X=B 🫢.

The Hilbert matrix is scaled by M = LCM(1, 2, ..., 2*N-1) so that all entries are integers β€” slay for exactness. The right-hand sides are the first NRHS columns of M times the identity matrix, and the solutions are the first NRHS columns of the inverse Hilbert matrix. ✨

The condition number of the Hilbert matrix grows exponentially with its size, roughly as O(e ** (3.5*N)) 😭. Also, inverse Hilbert matrices beyond a relatively small dimension cannot be generated exactly without extra precision. Precision is exhausted when the largest entry in the inverse Hilbert matrix is greater than 2 to the power of the number of bits in the fraction of the data type used plus one, which is 24 for single precision.

In single, the generated solution is exact for N <= 6 and has small componentwise error for 7 <= N <= 11 πŸ’….

πŸŽ€ Parameters πŸŽ€

  • N β€” N is INTEGER; the dimension of the matrix A. πŸ‘‘
  • NRHS β€” NRHS is INTEGER; the requested number of right-hand sides. πŸ’–
  • A β€” A is COMPLEX array, dimension (LDA, N); the generated scaled Hilbert matrix. 🌈
  • LDA β€” LDA is INTEGER; the leading dimension of the array A. LDA >= N. ⭐
  • X β€” X is COMPLEX array, dimension (LDX, NRHS); the generated exact solutions. Currently, the first NRHS columns of the inverse Hilbert matrix. πŸ¦‹
  • LDX β€” LDX is INTEGER; the leading dimension of the array X. LDX >= N. ✨
  • B β€” B is REAL array, dimension (LDB, NRHS); the generated right-hand sides. Currently, the first NRHS columns of LCM(1, 2, ..., 2*N-1) * the identity matrix. πŸ“
  • LDB β€” LDB is INTEGER; the leading dimension of the array B. LDB >= N. πŸ’œ
  • WORK β€” WORK is REAL array, dimension (N). πŸŽ€
  • INFO β€” INFO is INTEGER
    • = 0: successful exit βœ…
    • = 1: N is too large; the data is still generated but may not be not exact 😭
    • < 0: if INFO = -i, the i-th argument had an illegal value.
  • PATH β€” PATH is CHARACTER*3; the LAPACK path name. πŸ”₯

🌸 Author 🌸

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

πŸ“Œ Definition πŸ“Œ

Definition at line 132 of file zlahilb.f.

🌈 Author 🌈

Generated automatically by Doxygen for LAPACK from the source code. ✨


mwah πŸ’‹ β€” source/version check: LAPACK Version 3.12.0, and the footer/page path is /home/abui...N/zlahilb.f(3) 🫢✨

πŸ“¦ where this page comes from