gesolver(1)

πŸ“¦ version 2.1.11, in fedora 43, fedora 44, nixos 26.05, nixpkgs unstable

πŸ’– gesolver(1) β€” the generalized eigensolver glow-up πŸ’–

okay bestie, so this is the manual page for gesolver (utility commands section, iykyk). the actual program inside is called gesolve, which is a whole vibe β€” the page name and the program name are not the same, and that's just how it is, no notes. πŸŽ€


✨ NAME ✨

gesolve β€” an eigensolver for generalized eigenvalue problems. and when we say Ritz values only, we mean it: Ritz values only, nothing else. periodt. πŸ’…


✨ SYNOPSIS ✨

gesolve matrix_a_filename matrix_b_filename evalues_filename [options]

that's it, that's the whole summoning ritual. three filenames and then whatever options you're feeling. πŸ¦‹


✨ DESCRIPTION ✨

so here's the tea, bestie. this program takes the matrix data in from matrix_a_filename and matrix_b_filename, and then it goes ahead and solves the generalized eigenvalue problem

A*x = l*B*x

using whichever solver you told it to use via the options. πŸ‘‘

then it outputs the number of Ritz values you asked for β€” and that number comes from the -ss option, remember that β€” into evalues_filename, in the extended Matrix Market format (peep the Appendix of the Lis User Guide for the deets on that).

and here's the cute part: both the Matrix Market format and the Harwell-Boeing format are supported for the matrix filenames. so whichever one your matrices are living in, you're covered. 🌈


✨ OPTIONS ✨

the following options are supported, and yes we're going through all of them, no skimming:

  • -e eigensolver β€” picks your eigensolver. here are the options that are supported for eigensolver:
    • -e {gli|15} β€” Generalized Lanczos 🌸
      • -ss [1] β€” the size of the subspace
    • -e {gai|16} β€” Generalized Arnoldi πŸ¦‹
      • -ss [1] β€” the size of the subspace

🌟 Other Options for eigensolver 🌟

  • -eprint [0] β€” the output of the residual history
    • -eprint {none|0} β€” None (she's quiet, she's mysterious πŸ’€)
    • -eprint {mem|1} β€” save the residual history
    • -eprint {out|2} β€” output it to the standard output
    • -eprint {all|3} β€” save the residual history and output it to the standard output (go big or go home 🫢)
  • -omp_num_threads [t] β€” the number of the threads (t represents the maximum number of the threads)
  • -estorage [0] β€” the matrix storage format
  • -estorage_block [2] β€” the block size of the BSR and BSC formats
  • -ef [0] β€” the precision of the eigensolver
    • -ef {double|0} β€” double precision
    • -ef {quad|1} β€” double-double (quadruple) precision ✨
heads up bestie: see the Lis User Guide for the full description. this page is giving highlights, not the whole novel. πŸ“–

✨ EXIT STATUS ✨

the following exit values are returned:

  • 0 β€” the process is normally terminated πŸŽ‰ (slay, she finished clean)
  • unspecified β€” an error occurred 😭 (not the vibe, something went wrong)

✨ SEE ALSO ✨

go read these too, they're the friend group:

and the links, because we love a source:


and that's the whole page, bestie!! it's a Man Page situation, and the version stamp on this one is 4 Nov 2017. yes, 2017. she's vintage, she's iconic, she still works. πŸŽ€πŸ’–βœ¨

πŸ“¦ where this page comes from