corbett / QuantumComputing

This is an implementation of IBM's Quantum Experience in simulation; a 5-qubit quantum computer with a limited set of gates. Please cite me if you end up using this academically.
GNU General Public License v3.0
590 stars 140 forks source link

"Huston, CNOT have a situation..." #10

Closed marcus-mello closed 6 years ago

marcus-mello commented 7 years ago

Actually in the last weeks I have spent many (almost all) of my free hours testing and trying to understand how QuantumComputer.py works, even to try to help in some way.

Maybe someone might ask, "But why? This app is just an experiment! ".

Exactly! Precisely for this reason, because it was designed and developed to study quantum logic.

QuantumComputer.py is a laboratory, and things do not always (almost never) go exactly as we planned in the lab experiments. In addition to the reasons for studying and researching, there is another: I love the idea of having a quantum computer in my pocket! :)

QuantumComputer.py is a complex and robust application, encoded in a just single file! You can send it attached in a whatsapp message! Even though most people have no interest in it, or even understand what it is ... :)

But this study of Dr. Christine has the potential to be easily distributed, shared by students around the world, making quantum computing as popular in this early 21st century as the Abacus was 4,000 years ago.

Anyway, I have plenty of reasons to spend my free hours on this project. :)

Now, I found a weird result from a banal test. May be this could be useful to solve some logic constraints of CNOT.

Follows the test done in the IBM Quantum Simulator: Note that Q0 set to |1> with X gate. x0_score

The QASM code: x0_qasm

And the result from IBM Quantum Simulator: x0_ibm_qe

IBM show it in binary order 43210 as “00001” (or “001”) In reverse (natural) order 01234, the result will must be “10000” (or “100”)

But the QuantumComputer.py result is different... "010" x0

This is the Python source code used in all tests: CNOT Situation.txt

See the screen of source code used: x0py

When the Q1 is set to |1> x1_score

IBM show it in binary order 43210 as “00010” (or “010”) In reverse (natural) order 01234, the result will must be “01000” (or “010”) x1_ibm_qe

But the QuantumComputer.py result is different... "100" x1

When the Q2 is set to |1> x2_score

IBM show it in binary order 43210 as “00111” (or “111”) In reverse (natural) order 01234, the result will must be “11100” (or “111”) x2_ibm_qe

In this test QuantumComputer.py result is EQUAL to IBM ! "111" x2

I hope these test cases can shed some light on the CNOT algorithm.

rtvuser1 commented 6 years ago

Hi Marcus, Did you ever resolve this issue ?

marcus-mello commented 6 years ago

Yes Tom,

I solved it, but I was expecting some interaction with the other collaborators before publishing here.

I had to make some severe modifications and I do not know exactly how to use Github to publish it.

What is the best way to post the modified source here, in this case?

Please contact me using Linkedin or Facebook to let us interchange ideas and sources.

A​tt Marcus Mello http://www.linkedin.com/in/marcusmello/

2017-12-06 14:59 GMT+00:00 Tom Lubinski notifications@github.com:

Hi Marcus, Did you ever resolve this issue ?

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/corbett/QuantumComputing/issues/10#issuecomment-349664625, or mute the thread https://github.com/notifications/unsubscribe-auth/AZdw6wdT3z4KCJuUsieHuleIDiCKkPEYks5s9qu5gaJpZM4NM0NX .