artiste-qb-net / qubiter

Python tools for reading, writing, compiling, simulating quantum computer circuits. Includes numpy and tensorflow backends. “Quantum Space, the final frontier. These are the voyages of the starship Qubiter. Its five-year mission: to explore strange new worlds, to seek out new life and new civilizations, to boldly go where no man has gone before.”
Other
120 stars 31 forks source link

PHAS gate expander? #14

Closed gderosa closed 6 years ago

gderosa commented 6 years ago

When I try to invoke Qubiter_to_IBMqasm2() it fails when there are PHAS gates in the English file.

Do we have a PHAS expander that translates into gates available on IBM etc.? Just like we have expanders for DiagUnitary and Multiplexor...

rrtucci commented 6 years ago

Yes, you can first use CGateExpander. That is supposed to expand the controlled phase gates if it works as expected.

On Thu, Jan 25, 2018 at 8:01 PM, Guido De Rosa notifications@github.com wrote:

When I try to invoke Qubiter_to_IBMqasm2() it fails when there are PHAS gates in the English file.

Do we have a PHAS expander that translates into gates available on IBM etc.? Just like we have expanders for DiagUnitary and Multiplexor...

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/artiste-qb-net/qubiter/issues/14, or mute the thread https://github.com/notifications/unsubscribe-auth/APNp4caJL3ltLorpuskL9cK0zG4gjYe_ks5tOSP6gaJpZM4RtuDQ .

gderosa commented 6 years ago

I did use CGateExpander but it leaves the PHAS'es unchanged... The file is pretty large, but I'll see if I can reproduce with a smaller one.

csd_X4_5_eng.txt

rrtucci commented 6 years ago

I looked at it. These are all global phases, not controlled ones. Looks like the controlled ones have been decomposed. I don't think IBMqasm simulator has global phases as gates. They can't be measured physically but they are sometimes useful in numeric tests

On Thu, Jan 25, 2018 at 9:11 PM, Guido De Rosa notifications@github.com wrote:

I did use CGateExpander but it leaves the PHAS'es unchanged... The file is pretty large, but I'll see if I can reproduce with a smaller one.

csd_X4_5_eng.txt https://github.com/artiste-qb-net/qubiter/files/1666356/csd_X4_5_eng.txt

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/artiste-qb-net/qubiter/issues/14#issuecomment-360663684, or mute the thread https://github.com/notifications/unsubscribe-auth/APNp4RWB9PiJM3QntagQcKmNiL9ve43Yks5tOTRYgaJpZM4RtuDQ .

gderosa commented 6 years ago

They are not controlled but they are not global either i.e. they act on one qubit only, not on the the "compound wave function" so to speak... I'm not 100% sure they are irrelevant, but I'll check...

rrtucci commented 6 years ago

They are global. I attached them to one of the qubits, because I had to attach them to something :). However, it doesn't matter which qubit they are attached to. I can change Qubiter_to_IBMqasm2 so that it aborts at controlled phases but comments out global phases and continues past them. Would that satisfy you?

On Thu, Jan 25, 2018 at 9:45 PM, Guido De Rosa notifications@github.com wrote:

They are not controlled but they are not global either i.e. they act on one qubit only, not on the the "compound wave function" so to speak... I'm not 100% sure they are irrelevant, but I'll check...

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/artiste-qb-net/qubiter/issues/14#issuecomment-360668717, or mute the thread https://github.com/notifications/unsubscribe-auth/APNp4bIVipCDcviUD7_c0KrY2uTEe_xxks5tOTxDgaJpZM4RtuDQ .

rrtucci commented 6 years ago

I did what I promised to do in my last message. Hope it works.

gderosa commented 6 years ago

Thank you, that would work!