
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.
