Encapsulate operation inside exponential in a class
Description
As a first step, this allows to put all the code related to the Magnus propagator in one module and to remove the corresponding code from the Hamiltonian. As a next step, this allows to implement more complex propagation schemes that involve combinations of Hamiltonians at different times.
News snippet
Encapsulate operation inside exponential in a class
Checklist
- I have checked that my code follows the Octopus coding standards
- I have added tests for all the new features added in this request.