Eliminate awful slowdown of EigenGate._value_equality_values_
#6695
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem: The
sympy.Expr.is_constant()
introduced in #6669 is veryslow causing glacial-speed equality checks of parameterized gates.
Solution: Check if expression is sympy.Number instead which still
satisfies the equality fix added in #6669.
Timing of
check/pytest --numprocesses=0 --randomly-seed=0
cirq-core/cirq/transformers/analytical_decompositions/two_qubit_to_sqrt_iswap_test.py
Before: 945 s After: 18 s, Before #6669: 18 s.