OpenFermion icon indicating copy to clipboard operation
OpenFermion copied to clipboard

Parallelization of Jordan-Wigner transformation

Open Emieeel opened this issue 4 years ago • 2 comments

For systems of >10 orbitals, I noticed that a jordan wigner transformation on the fermionic hamiltonian is quite expensive, probably because it is pure python code so it runs on just 1 core. Is there any way of improving the speed of the get_jordan_wigner() function and/or parallelize it?

Emieeel avatar Apr 18 '20 16:04 Emieeel

Probably. It would be nice to have faster code for this. The runtime should be roughly linear in the number of terms in the Hamiltonian. Of course, for large chemistry Hamiltonians with O(N^4) terms, that's not very good. But for the case of molecules there is a special routine that maps the InteractionOperators directly to qubits without going through the fermion Hamiltonian as an intermediate, and that is faster. Feel free to suggest a better implementation for the jordan wigner transform applied to the FermionOperator data structure.

babbush avatar Apr 18 '20 20:04 babbush

I think at some point we might want to implement the basic transforms in Cython.

kevinsung avatar Apr 23 '20 00:04 kevinsung