esolve(1)

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

🌸 NAME 🌸

esolve β€” eigensolver for standard eigenvalue problems πŸ’–

Welcome to esolve(1), bestie. Section 1 of the manual, Utility Commands energy. It solves eigenvalue problems, that's the whole personality, and it does it so well. πŸŽ€


✨ SYNOPSIS ✨

esolve matrix_filename evalues_filename evectors_filename residuals_filename iters_filename [options]

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so here's the tea β˜• β€” this program takes the matrix data from matrix_filename and solves the standard eigenvalue problem A*x = l*x with whichever solver you picked in options. Then it writes out the number of eigenvalues you asked for β€” and that count comes from the -ss option β€” into evalues_filename, plus the associated eigenvectors, residual norms, and numbers of iterations into evectors_filename, residuals_filename, and iters_filename respectively. All of it lands in the extended Matrix Market format (see the Appendix of the Lis User Guide for the full deets). πŸ“

And for the matrix filename itself? Both the Matrix Market format and the Harwell-Boeing format are supported. Versatile queen. We love that for us. πŸ‘‘


πŸ’… OPTIONS πŸ’…

The following options are supported:

  • -e eigensolver β€” pick ur eigensolver, this is the main character of the whole operation ✨

The following options are supported for eigensolver:

  • -e {pi|1} β€” Power
  • -e {ii|2} β€” Inverse
  • -e {rqi|3} β€” Rayleigh Quotient
  • -e {cg|4} β€” CG
  • -e {cr|5} β€” CR
  • -e {si|6} β€” Subspace
    • -ss [1] β€” the size of the subspace
  • -e {li|7} β€” Lanczos
    • -ss [1] β€” the size of the subspace
  • -e {ai|8} β€” Arnoldi
    • -ss [1] β€” the size of the subspace
  • -i linear solver β€” the inner linear solver, aka the supporting cast 🫢

The following options are supported for inner linear solver:

  • -i {cg|1} β€” CG
  • -i {bicg|2} β€” BiCG
  • -i {cgs|3} β€” CGS
  • -i {bicgstab|4} β€” BiCGSTAB
  • -i {bicgstabl|5} β€” BiCGSTAB(l)
    • -ell [2] β€” the degree l
  • -i {gpbicg|6} β€” GPBiCG
  • -i {tfqmr|7} β€” TFQMR
  • -i {orthomin|8} β€” Orthomin(m)
    • -restart [40] β€” the restart value m
  • -i {gmres|9} β€” GMRES(m)
    • -restart [40] β€” the restart value m
  • -i {jacobi|10} β€” Jacobi
  • -i {gs|11} β€” Gauss-Seidel
  • -i {sor|12} β€” SOR
    • -omega [1.9] β€” the relaxation coefficient omega (0<omega<2)
  • -i {bicgsafe|13} β€” BiCGSafe
  • -i {cr|14} β€” CR
  • -i {bicr|15} β€” BiCR
  • -i {crs|16} β€” CRS
  • -i {bicrstab|17} β€” BiCRSTAB
  • -i {gpbicr|18} β€” GPBiCR
  • -i {bicrsafe|19} β€” BiCRSafe
  • -i {fgmres|20} β€” FGMRES(m)
    • -restart [40] β€” the restart value m
  • -i {idrs|21} β€” IDR(s)
    • -irestart [2] β€” the restart value s
  • -i {idr1|22} β€” IDR(1)
  • -i {minres|23} β€” MINRES
  • -i {cocg|24} β€” COCG
  • -i {cocr|25} β€” COCR
  • -p preconditioner β€” the glow-up that makes ur linear solver actually behave ✨

The following options are supported for preconditioner:

  • -p {none|0} β€” None
  • -p {jacobi|1} β€” Jacobi
  • -p {ilu|2} β€” ILU(k)
    • -ilu_fill [0] β€” the fill level k
  • -p {ssor|3} β€” SSOR
    • -ssor_omega [1.0] β€” the relaxation coefficient omega (0<omega<2)
  • -p {hybrid|4} β€” Hybrid
    • -hybrid_i [sor] β€” the linear solver
    • -hybrid_maxiter [25] β€” the maximum number of the iterations
    • -hybrid_tol [1.0e-3] β€” the convergence criterion
    • -hybrid_omega [1.5] β€” the relaxation coefficient omega of the SOR (0<omega<2)
    • -hybrid_ell [2] β€” the degree l of the BiCGSTAB(l)
    • -hybrid_restart [40] β€” the restart values of the GMRES and Orthomin
  • -p {is|5} β€” I+S
    • -is_alpha [1.0] β€” the parameter alpha of I+alpha*S(m)
    • -is_m [3] β€” the parameter m of I+alpha*S(m)
  • -p {sainv|6} β€” SAINV
    • -sainv_drop [0.05] β€” the drop criterion
  • -p {saamg|7} β€” SA-AMG
    • -saamg_unsym [false] β€” select the unsymmetric version (the matrix structure must be symmetric)
    • -saamg_theta [0.05|0.12] β€” the drop criterion
  • -p {iluc|8} β€” Crout ILU
    • -iluc_drop [0.05] β€” the drop criterion
    • -iluc_rate [5.0] β€” the ration of maximum fill-in
  • -p {ilut|9} β€” ILUT
    • -ilut_drop [0.05] β€” the drop criterion
    • -ilut_rate [5.0] β€” the ration of maximum fill-in
  • -adds true β€” Additive Schwarz
    • -adds_iter [1] β€” the number of the iteration

Other Options for eigensolver:

  • -emaxiter [1000] β€” the maximum number of the iterations
  • -etol [1.0e-12] β€” the convergence criterion
  • -eprint [0] β€” the output of the residual history
    • -eprint {none|0} β€” None
    • -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
  • -ie [ii] β€” the inner eigensolver used in Subspace, Lanczos and Arnoldi
  • -shift [0.0] β€” the amount of the shift
  • -initx_ones [true] β€” the behavior of the initial vector x_0
    • -initx_ones {false|0} β€” given values
    • -initx_ones {true|1} β€” all values are set to 1
  • -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

Other options for inner linear solver:

  • -maxiter [1000] β€” the maximum number of the iterations
  • -tol [1.0e-12] β€” the convergence criterion
  • -print [0] β€” the output of the residual history
    • -print {none|0} β€” None
    • -print {mem|1} β€” save the residual history
    • -print {out|2} β€” output it to the standard output
    • -print {all|3} β€” save the residual history and output it to the standard output
  • -scale [0] β€” the scaling
    • -scale {none|0} β€” no scaling
    • -scale {jacobi|1} β€” the Jacobi scaling
    • -scale {symm_diag|2} β€” the diagonal scaling
  • -initx_zeros [true] β€” the behavior of the initial vector x_0
    • -initx_zero {false|0} β€” given values
    • -initx_zero {true|1} β€” all values are set to 0
  • -omp_num_threads [t] β€” the number of the threads (t represents the maximum number of the threads)
  • -storage [0] β€” the matrix storage format
  • -storage_block [2] β€” the block size of the BSR and BSC formats
  • -f [0] β€” the precision of the linear solver
    • -f {double|0} β€” double precision
    • -f {quad|1} β€” double-double (quadruple) precision
See Lis User Guide for full description. πŸ“– (fr fr, it's all in there)

πŸšͺ EXIT STATUS πŸšͺ

The following exit values are returned:

  • 0 β€” the process is normally terminated βœ… slay
  • unspecified β€” an error occurred 😭 not slay

πŸ‘€ SEE ALSO πŸ‘€

lis(3), lsolve(1), hpcg_kernel(1), hpcg_spmvtest(1), spmvtest1(1), spmvtest2(1), spmvtest2b(1), spmvtest3(1), spmvtest3b(1), spmvtest4(1), spmvtest5(1)

http://www.ssisc.org/lis/

http://math.nist.gov/MatrixMarket/


and that's the whole page, bestie 🫢 this one's a Man Page, dated 19 Sep 2017, and it lives under esolve(1) β€” go forth and diagonalize, you absolute icon πŸ‘‘βœ¨

πŸ“¦ where this page comes from