2

I'm trying to obtain a Hamiltonian to implement a simple QPE algorithm. I got the FermionicOP from second quantization, and now I need to convert it to a SparsePauliOP using a mapper. I've managed to do this with the JW, Parity, and BK mappings. I've also got the QPE working using HamiltonianPhaseEstimation.

I've read that we can use different qubit mappers to reduce the number of qubits (relative to the linear mappings JW, Parity, and BK) by using the system's symmetries. I thought some mapper would help me restrict the Hamiltonian to, for example, solutions with only two occupied orbitals.

I'm having trouble understanding:

  1. If this is even possible within the qiskit ecosystem.
  2. How to do it.

Here is a MWE of what I got working:

from qiskit.quantum_info import SparsePauliOp
from qiskit_nature.second_q.operators import FermionicOp
from qiskit_nature.second_q.mappers import JordanWignerMapper

example using 10 spin orbitals

H = FermionicOp({"+_0 -_0": 1, "+_0 +_1 -_2 -_3": 20}, num_spin_orbitals=10)

Change mapper??

mapper = JordanWignerMapper() H_qubit = mapper.map(H)

I can change the mapper to InterleavedQubitMapper or a TaperedQubitMapper, but I can't make sense of the Hamiltonian they return.

Norbert Schuch
  • 8,740
  • 2
  • 19
  • 31

0 Answers0