quantumlib / Cirq

A Python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Apache License 2.0
4.27k stars 1.01k forks source link

Add analytical decomposition for synthesis of single qubit unitaries generated by Clifford and T gates. #5815

Open tanujkhattar opened 2 years ago

tanujkhattar commented 2 years ago

Is your feature request related to a use case or problem? Please describe. One of the promising gatesets for fault tolerant regime is the Clifford + T gateset, where executing T gates is significantly slower than executing Cliffords and therefore it's often desired to minimize the T-count of the compiled circuits. Cirq currently does not have any analytical decompositions for synthesizing arbitrary 1/2q unitaries in terms of Clifford + T gateset.

Describe the solution you'd like Fast and efficient exact synthesis of single qubit unitaries generated by Clifford and T gates provides an efficient algorithm for synthesis of arbitrary single qubit rotations in terms of Clifford + T gates. The feature request is to implement the described algorithm as an analytical decomposition in Cirq

What is the urgency from your perspective for this issue? Is it blocking important work? P2 - we should do it in the next couple of quarters

cc @augustehirth This would need documentation once we get this done.

tanujkhattar commented 2 years ago

A related recent paper for decomposing arbitrary n-qubit unitaries, which is probably out of scope for this feature request but can be done as a follow-up if we have enthusiastic contributors.

https://link.springer.com/article/10.1007/s11128-020-02816-0

aksaw commented 2 years ago

I'd be very interested in giving this a shot. From cirq cync, it seems that this should be a good first issue given I'm comfortable with the math but not extremely familiar with the cirq library.

NoureldinYosri commented 1 year ago

@aksaw Is there progress on this? I will need this soon.

aksaw commented 1 year ago

Yes, I had started working on this already. I can try to finish it up in the next couple of weeks.

tanujkhattar commented 1 year ago

@aksaw Are you still working on this?