Qiskit provides a phase oracle method that takes a Boolean formula as input and returns a phase oracle circuit for that function as output. Their source code informed me that the synthesis uses the Tweedledum's pkrm_synth method for the actual synthesis.

However, apart from the fact that it somehow uses some combination of things called psuedo-Kronecker expression and Reed-Muller code (hence the 'pkrm' acronym), I could not decipher how the synthesis is being performed and what kind of algorithm is being used due to the lack of C++ proficiency.

If there are any documentations for the pkrm_synth method or the Tweedledum package in general, or if anyone recognizes the algorithm being used in the method, any such help would be greatly appreciated.



Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.