lis_esolver_set_option(3f)

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

🌸 NAME 🌸

lis_esolver_set_option β€” bestie, this is the one that sets the options for the eigensolver ✨

It's part of the Lis Library Functions manual (section 3f), so its full government name is lis_esolver_set_option(3f). Okay so let's get into it πŸ’…


πŸ“œ SYNOPSIS πŸ“œ

subroutine lis_esolver_set_option(char *text, LIS_ESOLVER *esolver,
LIS_INTEGER ierr);

✨ DESCRIPTION ✨

It sets the options for the eigensolver. That's the whole job. Iconic, honestly 🫢


πŸ“₯ INPUT πŸ“₯

  • text β€” the command line options πŸ‘‘

πŸ“€ OUTPUT πŸ“€

  • esolver β€” the eigensolver πŸ’–

⚠️ NOTE ⚠️

The table below shows the available command line options. Two things to know before you read it, bestie, because the notation is a whole vibe:

  • -e {pi|1} means either -e pi or -e 1 β€” same thing, two spellings, pick your fighter.
  • -emaxiter [1000] means -emaxiter defaults to 1,000. The brackets are the default, not a literal bracket, okay? Don't type the brackets πŸ’€

πŸŽ€ OPTIONS πŸŽ€

The following options are supported:

  • -e eigensolver β€” pick your eigensolver. The following options are supported for eigensolver:
    • -e {pi|1} β€” Power
    • -e {ii|2} β€” Inverse
      • -i [bicg] β€” the linear solver
    • -e {rqi|3} β€” Rayleigh Quotient
      • -i [bicg] β€” the linear solver
    • -e {cg|4} β€” CG
      • -i [cg] β€” the linear solver
    • -e {cr|5} β€” CR
      • -i [bicg] β€” the linear solver
    • -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
    • -e {gpi|9} β€” Generalized Power
      • -i [bicg] β€” the linear solver
    • -e {gii|10} β€” Generalized Inverse
      • -i [bicg] β€” the linear solver
    • -e {grqi|11} β€” Generalized Rayleigh Quotient
      • -i [bicg] β€” the linear solver
    • -e {gcg|12} β€” Generalized CG
      • -i [cg] β€” the linear solver
    • -e {gcr|13} β€” Generalized CR
      • -i [bicg] β€” the linear solver
    • -e {gsi|14} β€” Generalized Subspace
      • -ss [1] β€” the size of the subspace
    • -e {gli|15} β€” Generalized Lanczos
      • -ss [1] β€” the size of the subspace
    • -e {gai|16} β€” Generalized Arnoldi
      • -ss [1] β€” the size of the subspace
  • -i linear solver β€” the inner linear solver situation. 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 before the solve. 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 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 iteration

Other Options for eigensolver:

  • -emaxiter [1000] β€” the maximum number of iterations
  • -etol [1.0e-12] β€” the convergence criterion
  • -eprint [0] β€” the display of the residual
    • -eprint {none|0} β€” None
    • -eprint {mem|1} β€” save the residual history
    • -eprint {out|2} β€” display the residual history
    • -eprint {all|3} β€” save the residual history and display it on the screen
  • -ie [ii] β€” the inner eigensolver used in Subspace, Lanczos, and Arnoldi
  • -ige [ii] β€” the inner eigensolver used in Generalized Subspace, Generalized Lanczos, and Generalized 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 threads (t represents the maximum number of 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 iterations
  • -tol [1.0e-12] β€” the convergence criterion
  • -print [0] β€” the display of the residual
    • -print {none|0} β€” None
    • -print {mem|1} β€” save the residual history
    • -print {out|2} β€” display the residual history
    • -print {all|3} β€” save the residual history and display it on the screen
  • -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 threads (t represents the maximum number of 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, that's where the full tea is)


πŸ‘€ SEE ALSO πŸ‘€


okay that's the whole page bestie, mwah πŸ’‹ this was the lis_esolver_set_option(3f) man page from 14 Sep 2017, and yeah the footer is literally just the words "Man Page" plus that date β€” no cap, that's all it says. go forth and set some options βœ¨πŸ¦‹

πŸ“¦ where this page comes from