-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed up simplification of CNOTs in BooleanHamiltonian #4532
Comments
@tonybruguier I have some initial ideas on optimizing the
I know that the current algorithm does not simplify this test case, but is it allowed to be simplified? What ordering assumption does it violate? Here says |
So the goal of the issue is simply to speed up the for loops. The way the code works is to repeatedly be called. If a simplification is found, we apply it and repeat from scratch. If no simplification is found, then we exit. Instead of restarting from scratch, we could do something smarter. It's not really a quantum problem, but rather a classical algorithmic optimization. Of course, there could be other optimizations, but that's what the intent of this issue was. |
Thank you for the quick response. I agree that this issue is not about the quantum part. Can I create a PR only to optimize |
Sounds good. One function at a time seems like a good idea. I could do an initial review, but the final approval would have to be given be an expert. |
Clean up TODO-s for fixed issues quantumlib#4328 and quantumlib#4532
Clean up TODO-s for fixed issues quantumlib#4328 and quantumlib#4532
Description of the issue
During the review of #4386 which reduced the number of CNOT gates produced by
BooleanHamiltonian
, there was a remark that the functions_simplify_cnots_triplets
and_simplify_commuting_cnots
can be made faster. As soon as they find a simplification, they return early and then start from scratch again. Maybe continuing would be more efficient.Cirq version
0.13.0.dev
The text was updated successfully, but these errors were encountered: