Qiskit / qiskit

Qiskit is an open-source SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives.
https://www.ibm.com/quantum/qiskit
Apache License 2.0
5.23k stars 2.36k forks source link

Transpile giving unexpected output #12783

Open SmayanAgarwal opened 3 months ago

SmayanAgarwal commented 3 months ago

URL to the relevant documentation

https://github.com/SmayanAgarwal/Qiskit.git

Please refer to the file Transpile vs Evolve

Select all that apply

Describe the fix.

We are currently working on a project involving Qiskit. During our implementation, we have encountered an issue with the ‘transpile’ command when applying Quantum Fourier Transforms (QFTs) and Multi-Controlled X (MCX) Gates to our circuits. The problem only seems to occur when an MCX Gate is applied after a QFT Gate

Specifically, we observe that the outputs from the ‘transpile’ command differ significantly from those generated by the ‘evolve’ function. This discrepancy is affecting our conclusions.

We have attached the relevant code snippets for your review. We would greatly appreciate it if your team could investigate this issue and provide guidance or a fix.

jakelishman commented 3 months ago

The link appears to be broken, or at least private. Regardless, please can you explain exactly what is not what you expect, and reduce your code to the absolute minimum needed to demonstrate the problem?

SmayanAgarwal commented 3 months ago

Hello,

The code takes a classical signal, in this case a sin wave with added noise, and decodes it into a quantum state. It is then supposed to retrieve it after performing certain operations on it. However a problem is that there seems to be a bug in the re-conversion of the data from quantum to classical.

The first image is what I expect, that the two lines on the graph be co-incidental ie: the retrieved values match the original values. This is the output using the ‘evolve’ command.

 The second image is what I get by running the transpile command.

I don’t think I can reduce the code anymore, I will try to explain whatever part you want me to. I have made the repo public, you should be able to view it now.

Regards, Smayan Agarwal.

On 18 Jul 2024, at 5:39 PM, Jake Lishman @.***> wrote:

The link appears to be broken, or at least private. Regardless, please can you explain exactly what is not what you expect, and reduce your code to the absolute minimum needed to demonstrate the problem?

— Reply to this email directly, view it on GitHub https://github.com/Qiskit/qiskit/issues/12783#issuecomment-2236338121, or unsubscribe https://github.com/notifications/unsubscribe-auth/BC5NX2PSLGSWQ3UMAKQS24TZM6WBNAVCNFSM6AAAAABLCPKJJWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMZWGMZTQMJSGE. You are receiving this because you authored the thread.