# LOCALIZE

Use one of the available methods to define the localization and possibly to optimize it to a minimum or a maximum. [Edit on GitHub]

Subsections

- PRINT

## Keywords

- SECTION_PARAMETERS

- CG_PO

- CPO_GUESS

- CPO_GUESS_SPACE

- CRAZY_SCALE

- CRAZY_USE_DIAG

- ENERGY_RANGE

- EPS_LOCALIZATION

- EPS_OCCUPATION

- JACOBI_FALLBACK

- JACOBI_REFINEMENT

- LIST

- LIST_UNOCCUPIED

- LOCHOMO_RESTART_FILE_NAME

- LOCLUMO_RESTART_FILE_NAME

- LOCMIXD_RESTART_FILE_NAME

- MAX_CRAZY_ANGLE

- MAX_ITER

- METHOD

- MIN_OR_MAX

- NEXTRA

- OPERATOR

- OUT_ITER_EACH

- RESTART

- STATES

- USE_HISTORY

## Keyword descriptions

SECTION_PARAMETERS: logical = F

  Lone keyword: `T`

  Usage: &LOCALIZE T

  controls the activation of the MOS localization procedure [Edit on GitHub]

CG_PO: logical = T

  Lone keyword: `T`

  Usage: CG_PO

  Use conjugate gradient in conjunction with METHOD GAPO. If FALSE, steepest descent is used instead. [Edit on GitHub]

CPO_GUESS: enum = ATOMIC

  Usage: CPO_GUESS (ATOMIC|RESTART|RANDOM)

  Valid values:

  - `ATOMIC`

  - `RESTART`

  - `RANDOM`

  Initial guess for coefficients if METHOD GAPO is used [Edit on GitHub]

CPO_GUESS_SPACE: enum = WAN

  Usage: CPO_GUESS_SPACE (WAN|ALL)

  Valid values:

  - `WAN`

  - `ALL`

  Orbital space from which initial guess for coefficients is determined if METHOD GAPO and CPO_GUESS ATOMIC are employed [Edit on GitHub]

CRAZY_SCALE: real = 1.00000000E+000

  Usage: CRAZY_SCALE 0.9

  scale angles [Edit on GitHub]

CRAZY_USE_DIAG: logical = F

  Lone keyword: `T`

  Usage: CRAZY_USE_DIAG

  Use diagonalization (slow) or pade based calculation of matrix exponentials. [Edit on GitHub]

ENERGY_RANGE: real[2] = 0.00000000E+000 0.00000000E+000 [eV]

  Usage: ENERGY_RANGE lower_bound {real}, higher_bound {real}

  Select the orbitals to be localized within the given energy range. This type of selection cannot be added on top of the selection through a LIST. It reads to reals that are lower and higher boundaries of the energy range. [Edit on GitHub]

EPS_LOCALIZATION: real = 1.00000000E-004

  Usage: EPS_LOCALIZATION 1.0E-2

  Tolerance used in the convergence criterion of the localization methods. [Edit on GitHub]

EPS_OCCUPATION: real = 1.00000000E-008

  Usage: EPS_OCCUPATION 1.E-5

  Tolerance in the occupation number to select only fully occupied orbitals for the rotation [Edit on GitHub]

JACOBI_FALLBACK: logical = T

  Lone keyword: `T`

  Usage: JACOBI_FALLBACK

  Use Jacobi method in case no convergence was achieved by using the crazy rotations method. [Edit on GitHub]

JACOBI_REFINEMENT: logical = F

  Lone keyword: `T`

  Usage: JACOBI_REFINEMENT

  Use Jacobi method to refine the localisation obtained by SCDM [Edit on GitHub]

LIST: integer[ ]

  Keyword can be repeated.

  Usage: LIST 1 2

  Indexes of the occupied wfn to be localized This keyword can be repeated several times (useful if you have to specify many indexes). [Edit on GitHub]

LIST_UNOCCUPIED: integer[ ]

  Keyword can be repeated.

  Usage: LIST_UNOCCUPIED 1 2

  Indexes of the unoccupied states to be localized, up to now only valid in combination with GPW. This keyword has to be present if unoccupied states should be localized. This keyword can be repeated several times (useful if you have to specify many indexes). [Edit on GitHub]

LOCHOMO_RESTART_FILE_NAME: string

  Usage: LOCHOMO_RESTART_FILE_NAME <FILENAME>

  File name where to read the MOS from which to restart the localization procedure for occupied states [Edit on GitHub]

LOCLUMO_RESTART_FILE_NAME: string

  Usage: LOCLUMO_RESTART_FILE_NAME <FILENAME>

  File name where to read the MOS from which to restart the localization procedure for unoccupied states [Edit on GitHub]

LOCMIXD_RESTART_FILE_NAME: string

  Usage: LOCMIXD_RESTART_FILE_NAME <FILENAME>

  File name where to read the MOS from which to restart the localization procedure for MIXED states [Edit on GitHub]

MAX_CRAZY_ANGLE: real = 2.00000000E-001 [rad]

  Usage: MAX_CRAZY_ANGLE 0.1

  Largest allowed angle for the crazy rotations algorithm (smaller is slower but more stable). [Edit on GitHub]

MAX_ITER: integer = 10000

  Usage: MAX_ITER 2000

  Maximum number of iterations used for localization methods [Edit on GitHub]

METHOD: enum = JACOBI

  Usage: METHOD (JACOBI|CRAZY|DIRECT|GAPO|L1SD|SCDM|NONE)

  Valid values:

  - `NONE` No localization is applied

  - `JACOBI` Using 2 x 2 rotations of the orbitals, slow but robust

  - `CRAZY` A new fast method is applied, might be slightly less robust than jacobi, but usually much faster

  - `GAPO` Gradient ascent for partially occupied wannier functions

  - `L1SD` Steepest descent minimization of an approximate l1 norm

  - `DIRECT` Using a direct minimisation approacha

  - `SCDM` Use QR factorization

  Method of optimization if any [Edit on GitHub]

MIN_OR_MAX: enum = SPREADMIN

  Usage: MIN_OR_MAX (SPREADMIN|SPREADMAX)

  Valid values:

  - `SPREADMIN`

  - `SPREADMAX`

  Requires the maximization of the spread of the wfn [Edit on GitHub]

NEXTRA: integer = 0

  Usage: NEXTRA 5

  Number of orbitals above fully occupied MOs to be localized, up to now only valid in combination with GPW. This keyword has to be present for STATES MIXED option. Otherwise, only the fully occupied MOs are localized. [Edit on GitHub]

OPERATOR: enum = BERRY

  Usage: OPERATOR (BERRY|BOYS|PIPEK)

  Valid values:

  - `BERRY`

  - `BOYS`

  - `PIPEK`

  Type of opertator which defines the spread functional [Edit on GitHub]

OUT_ITER_EACH: integer = 100

  Usage: OUT_ITER_EACH 100

  Every how many iterations of the localization algorithm (Jacobi) the tolerance value is printed out [Edit on GitHub]

RESTART: logical = F

  Lone keyword: `T`

  Usage: RESTART

  Restart the localization from a set of orbitals read from a localization restart file. [Edit on GitHub]

STATES: enum = OCCUPIED

  Usage: STATES (HOMO|LUMO|MIXED|ALL)

  Valid values:

  - `OCCUPIED`

  - `UNOCCUPIED`

  - `MIXED`

  - `ALL`

  Which states to localize, LUMO up to now only available in GPW [Edit on GitHub]

USE_HISTORY: logical = F

  Lone keyword: `T`

  Usage: USE_HISTORY

  Generate an improved initial guess based on a history of results, which is useful during MD. Will only work if the number of states to be localized remains constant. [Edit on GitHub]