quantumlib / OpenFermion

The electronic structure package for quantum computers.
Apache License 2.0
1.51k stars 372 forks source link

In the function get_molecular_hamiltonian #510

Closed lcr1103 closed 5 years ago

lcr1103 commented 5 years ago

Hello! I an a graduate student majoring quantum computing and I am not familiar with basics in quantum chemistry .Here I have questions about the get_molecular_hamiltonian. I am wondering if there are some one who can help me.

Once we get the Jordan-Wigner transformed spin-Hamiltonian the following questions will be in physical.

but what's the rules of the qubit encoding? I think it is molecular orbitals and I am not sure. Take the Hydrogen molecule as an example. In the function we take: occupied_indices =[] active_indices = [0,1]

we will get the four qubit Hamiltonian. like (-0.4738003172260148+0j) [] + (-0.05575552236992579+0j) [X0 X1 Y2 Y3] + (0.05575552236992579+0j) [X0 Y1 Y2 X3] + (0.05575552236992579+0j) [Y0 X1 X2 Y3] + (-0.05575552236992579+0j) [Y0 Y1 X2 X3] + (0.10053557389552428+0j) [Z0] + (0.14120468131668232+0j) [Z0 Z1] + (0.08678749851795595+0j) [Z0 Z2] + (0.14254302088788173+0j) [Z0 Z3] + (0.10053557389552428+0j) [Z1] + (0.14254302088788173+0j) [Z1 Z2] + (0.08678749851795595+0j) [Z1 Z3] + (-0.049032363521384514+0j) [Z2] + (0.1489118967708061+0j) [Z2 Z3] + (-0.049032363521384514+0j) [Z3]

then for the state such as |0011\rangle. what does it stands for?

vtomole commented 5 years ago

Hi @lcr1103 , this question has more to do with how to use OpenFermion than it's implementation. Could you please copy and paste this question to the Quantum Computing Stack Exchange with cirq and openfermion tags?

Thank you, Victory

babbush commented 5 years ago

@lcr1103 by default we use the standard Jordan-Wigner transform. To learn more either do as vtomole suggests or checkout these nice notes by Michael Nielsen: http://michaelnielsen.org/blog/archive/notes/fermions_and_jordan_wigner.pdf

lcr1103 commented 5 years ago

@babbush thanks a lot, I will read this first and to see if I can understand