microsoft / qsharp-runtime

Runtime components for Q#
https://docs.microsoft.com/quantum
MIT License
285 stars 93 forks source link

Q# should include decompositions to alternate quantum gate sets #249

Closed swernli closed 3 years ago

swernli commented 4 years ago

Q# defines the set of basic gate operations in the Microsoft.Quantum.Intrinsic namespace, where the fundamental operations are implemented as body intrinsic and other operations are expressed as decompositions onto these body-intrinsic operations. These effectively represent a specific quantum gate set that the current version of the simulator implements. To facilitate experimentation, testing, and eventually targeting of simulators and hardware with a different quantum gate set, the runtime should have infrastructure and examples of alternate implementations of operations in the Microsoft.Quantum.Intrinsic namespace as decompositions on top of the body-intrinsic operations for that alternate gate set.

Introducing this functionality will require several tasks.

bamarsha commented 3 years ago

@swernli Can this issue be closed or is there still work in progress?

swernli commented 3 years ago

@samarsha You beat me by one minute :). The new PR I opened (#476) is the last one needed to finally resolve this issue. It's the big merge of the feature branch into main, and will likely take a while, but should auto-close this once it is done.