String conversions and shape helpers for the enumerations.
Preconditioner of the LOBPCG path of syevx; the other algorithms ignore it.
Set per call through SyevxParams::preconditioner_type. Auto picks ILU(k) when a factor was supplied (or requested through SyevxParams::build_preconditioner), otherwise the default from BATCHLAS_SYEVX_PRECONDITIONER (auto|none|jacobi|jacobi_shifted|iluk), otherwise None. Unlike SyevxAlgorithm, the environment variable only supplies the default and never overrides an explicit request.
The two Jacobi forms are different operators. Jacobi approximates A^{-1}, so, like ILU(k), it is valid only for the smallest eigenpairs and find_largest is rejected with it; on a batch item whose diagonal is not uniformly positive it falls back to the identity. JacobiShifted shifts by the current Ritz value and is valid at either end. Auto never picks either.
- See also
- SYEVX for the measured iteration counts.
| Enumerator |
|---|
| Auto | ILU(k) if configured, else the environment default, else None.
|
| None | Unpreconditioned.
|
| Jacobi | diag(A)^{-1}; dense and CSR, smallest eigenpairs only.
|
| JacobiShifted | (diag(A) - lambda I)^{-1}; dense and CSR, either end.
|
| ILUK | Supplied or syevx-built ILU(k) factor; CSR, smallest eigenpairs only.
|
Definition at line 449 of file enums.hh.