
List of valid keywords:

 FULL_ALL
 Most effective state selective preconditioner based on diagonalization, requires the
ENERGY_GAP parameter to be an underestimate of the HOMOLUMO gap. This preconditioner
is recommended for almost all systems, except very large systems where make_preconditioner
would dominate the total computational cost.

 FULL_KINETIC
 Cholesky inversion of S and T, fast construction, robust, and relatively good, use
for very large systems.

 FULL_SINGLE
 Based on HeS diagonalisation, not as good as FULL_ALL, but somewhat cheaper to apply.

 FULL_SINGLE_INVERSE
 Based on HeS cholesky inversion, similar to FULL_SINGLE in preconditioning efficiency
but cheaper to construct, might be somewhat less robust. Recommended for large systems.

 FULL_S_INVERSE
 Cholesky inversion of S, not as good as FULL_KINETIC, yet equally expensive.

 NONE
 skip preconditioning

 SPARSE_DIAG
 Only based on atomic blocks, very cheap in construction but quite poor.

 SPARSE_KINETIC
 Toward sparse linear solver for TeS.
