fix: Fix bug in JsonScalar::from_scalar #74
Merged
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.
As @ColbyDeLisle mentioned in issue #63,
pow
refers to powers of two, whereas pyzx'spower2
refers to powers of sqrt(2). This was handled incorrectly in the Exact arm ofJsonScalar::from_scalar
. I have reworked that now so this fixes #63.I believe that
full_simplify
usually leads to scalars of the formsqrt(2)^n * exp(m*i*pi/4)
for Clifford+T graphs. I refactored the match arm so that these values are always treated exactly. For other scalars, they are simply split up asphase
andfloatfactor
.