RESPONSE_SOLVER
References: VandeVondele2012
Specifies the parameters of the linear scaling solver routines [Edit on GitHub]
Keywords
Keyword descriptions
EPS
Type: real
Default: 1.00000000E-012
Usage: EPS 1.e-10
Description: Target accuracy for the convergence of the conjugate gradient. [Edit on GitHub]
EPS_FILTER
Type: real
Default: 1.00000000E-010
Usage: EPS_FILTER 1.0E-10
Description: Threshold used for filtering matrix operations. [Edit on GitHub]
EPS_LANCZOS
Type: real
Default: 1.00000000E-003
Usage: EPS_LANCZOS 1.0E-4
Description: Threshold used for lanczos estimates. [Edit on GitHub]
MATRIX_CLUSTER_TYPE
Type: enum
Default: ATOMIC
Usage: MATRIX_CLUSTER_TYPE MOLECULAR
Description: Specify how atomic blocks should be clustered in the used matrices, in order to improve flop rate, and possibly speedup the matrix multiply. Note that the atomic s_preconditioner can not be used. Furthermore, since screening is on matrix blocks, slightly more accurate results can be expected with molecular. [Edit on GitHub]
Valid values:
ATOMICUsing atomic blocksMOLECULARUsing molecular blocks.
MAX_ITER
Type: integer
Default: 50
Usage: MAX_ITER 200
Description: Maximum number of conjugate gradient iteration to be performed for one optimization. [Edit on GitHub]
MAX_ITER_LANCZOS
Type: integer
Default: 128
Usage: MAX_ITER_LANCZOS 128
Description: Maximum number of lanczos iterations. [Edit on GitHub]
METHOD
Type: enum
Default: AO_ORTHO
Usage: METHOD SOLVER
Description: Algorithm used to solve response equation. Both solver are conjugate gradient based, but use either a vector (MO-coefficient) or density matrix formalism in the orthonormal AO-basis to obtain response density [Edit on GitHub]
Valid values:
MO_SOLVERSolver based on MO (vector) formalismAO_ORTHOSolver based on density matrix formalism
PRECONDITIONER
Type: enum
Default: MULTI_LEVEL
Usage: PRECONDITIONER FULL_ALL
Description: Type of preconditioner to be used with MO conjugate gradient solver. They differ in effectiveness, cost of construction, cost of application. Properly preconditioned minimization can be orders of magnitude faster than doing nothing. Only multi-level conjugate gradient preconditioner (MULTI_LEVEL) available for AO response solver (AO_ORTHO). [Edit on GitHub]
Valid values:
FULL_ALLMost effective state selective preconditioner based on diagonalization, requires the ENERGY_GAP parameter to be an underestimate of the HOMO-LUMO gap. This preconditioner is recommended for almost all systems, except very large systems where make_preconditioner would dominate the total computational cost.FULL_SINGLE_INVERSEBased on H-eS cholesky inversion, similar to FULL_SINGLE in preconditioning efficiency but cheaper to construct, might be somewhat less robust. Recommended for large systems.FULL_SINGLEBased on H-eS diagonalisation, not as good as FULL_ALL, but somewhat cheaper to apply.FULL_KINETICCholesky inversion of S and T, fast construction, robust, and relatively good, use for very large systems.FULL_S_INVERSECholesky inversion of S, not as good as FULL_KINETIC, yet equally expensive.MULTI_LEVELBased on same CG as AO-solver itself, but uses cheaper linear transformationNONEskip preconditioning
RESTART
Type: logical
Default: F
Lone keyword: T
Usage: RESTART
Description: Restart the response calculation if the restart file exists [Edit on GitHub]
RESTART_EVERY
Type: integer
Default: 50
Usage: RESTART_EVERY 50
Description: Restart the conjugate gradient after the specified number of iterations. [Edit on GitHub]
S_INVERSION
Type: enum
Default: SIGN_SQRT
Usage: S_INVERSION MOLECULAR
Description: Method used to compute the inverse of S. [Edit on GitHub]
Valid values:
SIGN_SQRTUsing the inverse sqrt as obtained from sign function iterations.HOTELLINGUsing the Hotellign iteration.
S_PRECONDITIONER
Type: enum
Default: ATOMIC
Usage: S_PRECONDITIONER MOLECULAR
Description: Preconditions S with some appropriate form. [Edit on GitHub]
Valid values:
NONENo preconditionerATOMICUsing atomic blocksMOLECULARUsing molecular sub-blocks. Recommended if molecules are defined and not too large.
S_SQRT_METHOD
Type: enum
Default: NEWTONSCHULZ
Usage: S_SQRT_METHOD NEWTONSCHULZ
Description: Method for the caclulation of the sqrt of S. [Edit on GitHub]
Valid values:
NEWTONSCHULZUsing a Newton-Schulz-like iterationPROOTUsing the p-th root method.
S_SQRT_ORDER
Type: integer
Default: 3
Aliases: SIGN_SQRT_ORDER
Usage: S_SQRT_ORDER 3
Description: Order of the iteration method for the calculation of the sqrt of S. [Edit on GitHub]