1

I'm encoding data into a QuantumCircuit via the Initialize method for QFTs. In doing this and transpiling for IonQ backends, I'm getting rather complex circuits. Is there a way to encode this data more efficiently for IonQ backends or a method to approximate this circuit? Thanks in advance!

Encoding a sine wave into an 8 qbit register, then transpiling for IonQ sim backend

1 Answers1

1

I believe this is because of Qiskit initialize, and not specific to the IonQ backend. You'd likely see the same (or worse!) gate depth with any backend.

Qiskit initialize uses a very general-purpose and therefore relatively naive algorithm for state encoding. Specifically, that from Synthesis of Quantum Logic Circuits (2004); this is mentioned in the source for the method.

Specifically, they say in the paper that using the method, an arbitrary n-qubit quantum state can be prepared by a circuit containing no more than 2n+1 − 2n CNOT gates. For an n of 8, like you have here, that's 496 CNOTs. which is about what you're seeing.

Any encoding approach that is more specifically tailored to what you're trying to do will likely work better.