# LINRES

References: Putrino2000

The linear response is used to calculate one of the following properties: nmr, epr, raman, … [Edit on GitHub]

## Keywords

- ENERGY_GAP

- EPS

- EPS_FILTER

- EVERY_N_STEP

- MAX_ITER

- PRECONDITIONER

- RESTART

- RESTART_EVERY

- WFN_RESTART_FILE_NAME

## Keyword descriptions

ENERGY_GAP: real = 2.00000000E-002

  Usage: ENERGY_GAP 0.1

  Energy gap estimate [a.u.] for preconditioning [Edit on GitHub]

EPS: real = 1.00000000E-010

  Usage: EPS 1.e-6

  target accuracy for the convergence of the conjugate gradient. [Edit on GitHub]

EPS_FILTER: real = 1.00000000E-015

  Usage: EPS_FILTER 1.e-8

  Filter threshold for response density matrix. [Edit on GitHub]

EVERY_N_STEP: integer = 1

  Usage: EVERY_N_STEP 50

  Perform a linear response calculation every N-th step for MD run [Edit on GitHub]

MAX_ITER: integer = 100

  Usage: MAX_ITER 200

  Maximum number of conjugate gradient iteration to be performed for one optimization. [Edit on GitHub]

PRECONDITIONER: enum = FULL_SINGLE_INVERSE

  Usage: PRECONDITIONER FULL_ALL

  Valid values:

  - `FULL_ALL` Most 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_INVERSE` Based 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_SINGLE` Based on H-eS diagonalisation, not as good as FULL_ALL, but somewhat cheaper to apply.

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

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

  - `NONE` skip preconditioning

  Type of preconditioner to be used with all minimization schemes. They differ in effectiveness, cost of construction, cost of application. Properly preconditioned minimization can be orders of magnitude faster than doing nothing. [Edit on GitHub]

RESTART: logical = F

  Lone keyword: `T`

  Usage: RESTART

  Restart the response calculation if the restart file exists [Edit on GitHub]

RESTART_EVERY: integer = 50

  Usage: RESTART_EVERY 200

  Restart the conjugate gradient after the specified number of iterations. [Edit on GitHub]

WFN_RESTART_FILE_NAME: string

  Aliases: RESTART_FILE_NAME

  Usage: WFN_RESTART_FILE_NAME <FILENAME>

  Root of the file names where to read the response functions from which to restart the calculation of the linear response [Edit on GitHub]