5.3.7. band_minimizer.pclm¶
- eminus.band_minimizer.pclm(scf, W, Nit, cost=scf_step_occ, grad=get_grad_occ, condition=check_convergence, betat=3e-5, precondition=True, **kwargs)[source]¶
Preconditioned line minimization algorithm for a fixed Hamiltonian.
- Parameters:
scf – SCF object.
W – Expansion coefficients of unconstrained wave functions in reciprocal space.
Nit – Maximum number of SCF steps.
- Keyword Arguments:
cost – Function that will run every SCF step.
grad – Function that calculates the respective gradient.
condition – Function to check and log the convergence condition.
betat – Step size.
precondition – Whether to use a preconditioner.
**kwargs – Throwaway arguments.
- Returns:
Band energies per SCF cycle and optimized expansion coefficients.