Open kevinsung opened 2 years ago
Thanks for updating the proposal above. Can you please also write some pseudo code of what you expect the actual user-facing workflow to look like?
That said, I am not sold on DoubleFactorizedHamiltonian
class. With the work done in #1033 we will be able to instead store the low-rank 2-body integrals instead of the standard 4D matrix directly inside the existing framework. See for example how I implemented AO-symmetry aware 2-body tensors here.
I've added some pseudocode to the opening post.
What should we add?
The low rank representations of the quantum chemistry Hamiltonian (https://www.nature.com/articles/s41534-021-00416-z.pdf) are useful for time evolution as well as variational algorithms. We should add functionality to calculate and use these representations.
Hamiltonian
(calledDoubledFactorizedHamiltonian
) that stores a low rank representation of the two-body tensorlow_rank_decomposition
that takes anElectronicEnergy
as input and outputs aDoubleFactorizedHamiltonian
DoubleFactorizedHamiltonian
using Trotter-Suzuki formulas.Example pseudocode: