-
Notifications
You must be signed in to change notification settings - Fork 44
Description
Hello,
I'm using the get_molecular_hamiltonian() method for H4, but the behavior is not being consistent from one execution to the next.
My application is VQE. The problem is that I want to store the optimized parameters, but not the Hamiltonian. However, when I evaluate the energy with the supposedly optimized parameters (obtained in a previous execution), the value is often suboptimal. I can't reproduce the ground state, because the parameters that should define it do not minimize the energy calculated with the Hamiltonian I obtain after I recreate the molecule.
Versions: pyscf 2.2.0, openfermion 1.5.1, openfermionpyscf 0.5
A very simple example of the variations in the Hamiltonian:
from openfermion import MolecularData
from openfermionpyscf import run_pyscf
r = 1.5
geometry = [('H', (0,0,0)), ('H', (0,0,r)), ('H', (0,0,2*r)), ('H', (0,0,3*r))]
basis = 'sto-3g'
multiplicity = 1
charge = 0
h4 = MolecularData(geometry,basis,multiplicity,charge,description='H4')
h4 = run_pyscf(h4,run_fci = True,run_ccsd = True)
print(h4.get_molecular_hamiltonian())
I won't post the full output as it's unnecessary, but I leave the last 10 lines for two different executions of the code above:
((7, 1), (6, 1), (6, 0), (3, 0)) 0.03730971574012655
((7, 1), (6, 1), (6, 0), (7, 0)) 0.22562069773706908
((7, 1), (7, 1), (1, 0), (1, 0)) 0.05498004656600459
((7, 1), (7, 1), (1, 0), (5, 0)) -0.0177711366810768
((7, 1), (7, 1), (3, 0), (3, 0)) 0.0588973786630837
((7, 1), (7, 1), (3, 0), (7, 0)) 0.03730971574012656
((7, 1), (7, 1), (5, 0), (1, 0)) -0.017771136681076806
((7, 1), (7, 1), (5, 0), (5, 0)) 0.08469509925466397
((7, 1), (7, 1), (7, 0), (3, 0)) 0.03730971574012655
((7, 1), (7, 1), (7, 0), (7, 0)) 0.22562069773706908
((7, 1), (6, 1), (6, 0), (3, 0)) -0.03730971574012662
((7, 1), (6, 1), (6, 0), (7, 0)) 0.22562069773706936
((7, 1), (7, 1), (1, 0), (1, 0)) 0.0549800465660047
((7, 1), (7, 1), (1, 0), (5, 0)) -0.017771136681076806
((7, 1), (7, 1), (3, 0), (3, 0)) 0.05889737866308378
((7, 1), (7, 1), (3, 0), (7, 0)) -0.037309715740126585
((7, 1), (7, 1), (5, 0), (1, 0)) -0.017771136681076813
((7, 1), (7, 1), (5, 0), (5, 0)) 0.08469509925466404
((7, 1), (7, 1), (7, 0), (3, 0)) -0.03730971574012662
((7, 1), (7, 1), (7, 0), (7, 0)) 0.22562069773706936