The proposed change would allow pgrad_acc (the updater, such as StochasticReconfiguration) to be a list of updater objects. Linemin will proceed as normal except
for it in range(iteration_offset, max_iterations):
becomes
for it in range(iteration_offset, max_iterations):
for micro_it in range(micro_it_offset, len(pgrad_acc)):
The variables now have an extra index; i.e., energy would be [iteration, micro_iteration] and the micro iteration is saved in the HDF5 file.
Ah, and gradient_generator can now take a batch parameter which does some reasonable automatic partitioning of batches. I was thinking by key, and anymo_coeff parameters also separated by orbital.
After discussion with Will, we came up with the following improvement:
The call signature of line minimimization is:
The proposed change would allow pgrad_acc (the updater, such as StochasticReconfiguration) to be a list of updater objects. Linemin will proceed as normal except
becomes
The variables now have an extra index; i.e., energy would be [iteration, micro_iteration] and the micro iteration is saved in the HDF5 file.