sisl.mixing.PulayMixer
- class sisl.mixing.PulayMixer(weight=0.1, history=2, metric=None)
Bases:
DIISMixer
Methods
Calculate coefficients of the Lagrangian
mix
(coefficients)Calculate a new variable \(f'\) using history and input coefficients
set_history
(history)Replace the current history in the mixer with a new one
set_weight
(weight)Set a new weight for this mixer
Calculate the coefficients according to Pulay's method, return everything + Lagrange multiplier
History object tracked by this mixer
This mixers mixing weight, the weight is the fractional contribution of the derivative
- __call__(f, df, delta=None, append=True)
Append data to the history (omitting None values)!
- Return type
TypeVar
(T
)
- __init__(weight=0.1, history=2, metric=None)
- coefficients()
Calculate coefficients of the Lagrangian
- mix(coefficients)
Calculate a new variable \(f'\) using history and input coefficients
- Parameters
coefficients (numpy.ndarray) – coefficients used for extrapolation
- Return type
- set_history(history)
Replace the current history in the mixer with a new one
- set_weight(weight)
Set a new weight for this mixer
- Parameters
weight (float) – the new weight for this mixer, it must be bigger than 0
- solve_lagrange()
Calculate the coefficients according to Pulay’s method, return everything + Lagrange multiplier