I am using OpenFermion and Cirq. I would like to define a Hamiltonian with a symbolic parameter and then generate a quantum circuit via Trotterization of its time evolution, which then also contains the symbolic parameter.
Cirq in principle supports sympy symbolic parameters in circuits. I define the Hamiltonian via FermionOperator
s, which supports symbolic parameters as well (Jordan-Wigner to produce a QubitOperator
is supported as well). However all algorithms of of.simulate_trotter
require DiagonalCoulombHamiltonian
/InteractionOperator
, which do not support symbolic operations.
I found these older GitHub issues/pull requests which discuss the particular use case of Trotterization with symbolic parameters as motivation and proceed to implement the symbolic parameter support for FermionOperator
.
I am wondering whether I am missing the way this can be done or whether this is not supported? In the latter case, is there any workaround, possibly using code not built in to OpenFermion?