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!
Asked
Active
Viewed 177 times
1
-
Please, images are a bad medium for sharing code. Provide actual line of code, please. – blunova Aug 19 '22 at 15:02
1 Answers
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.

Coleman Collins
- 11
- 2