3.7.1. horton.localization.localization
– Orbital localization procedures¶
- Currently supported localization flavours:
- Pipek-Mezey
This is work in progress.
-
class
horton.localization.localization.
Localization
(lf, occ_model, projector)¶ Bases:
object
Localize canonical HF orbitals.
Arguments:
- lf
- A LinalgFactory instance.
- occ_model
- Occupation model.
- Projector
- Projectors for atomic basis function. A list of TwoIndex instances.
Optional arguments:
-
clear
()¶ Clear all wavefunction information
-
compute_population_matrix
(exp)¶ Determine population matrix
Arguments:
- exp
- The current AO/MO coefficients. An Expansion instance
-
compute_rotation_matrix
(coeff)¶ Determine orbital rotation matrix
Arguments:
- coeff
- The non-reduntant orbital rotations, we need only values for p<q
-
update_locblock
(new)¶ Update localization block
-
lf
¶ The LinalgFactory
-
locblock
¶ The orbital block to be localized
-
nbasis
¶ The number of basis functions
-
nocc
¶ The number of occupied orbitals
-
nvirt
¶ The number of virtual orbitals
-
popmatrix
¶ The population matrix. A list of TwoIndex instances
-
proj
¶ The Projectors. A list of TwoIndex instances
-
class
horton.localization.localization.
PipekMezey
(lf, occ_model, projector)¶ Bases:
horton.localization.localization.Localization
Localize canonical HF orbitals.
Arguments:
- lf
- A LinalgFactory instance.
- occ_model
- Occupation model.
- Projector
- Projectors for atomic basis function. A list of TwoIndex instances.
Optional arguments:
-
assign_locblock
()¶ Get localization block. A OneIndex instance
-
clear
()¶ Clear all wavefunction information
-
compute_objective_function
()¶ Objective function of PM localization to be maximized. The current implementation minimizes -(objective_function).
-
compute_population_matrix
(exp)¶ Determine population matrix
Arguments:
- exp
- The current AO/MO coefficients. An Expansion instance
-
compute_rotation_matrix
(coeff)¶ Determine orbital rotation matrix
Arguments:
- coeff
- The non-reduntant orbital rotations, we need only values for p<q
-
grad
()¶ Gradient of objective function
Arguments:
- popmatrix
- The population matrix. A list of TwoIndex instances
-
hessian
(lshift=1e-08)¶ Diagonal Hessian of objective function
Arguments:
- popmatrix
- The population matrix. A list of TwoIndex instances
Optinal arguments:
- lshift
- Shift elements of Hessian (float)
-
orbital_rotation_step
(lshift)¶ Calculate gradient, hessian, and orbital rotation step
Arguments:
- lshift
- Shift elements of Hessian
-
solve_model
(*args, **kwargs)¶ Update population matrix used to calculate objective function
-
update_locblock
(new)¶ Update localization block
-
lf
¶ The LinalgFactory
-
locblock
¶ The orbital block to be localized
-
nbasis
¶ The number of basis functions
-
nocc
¶ The number of occupied orbitals
-
nvirt
¶ The number of virtual orbitals
-
popmatrix
¶ The population matrix. A list of TwoIndex instances
-
proj
¶ The Projectors. A list of TwoIndex instances