Rotation Gates#95
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #95 +/- ##
==========================================
- Coverage 76.17% 76.10% -0.08%
==========================================
Files 20 20
Lines 848 883 +35
==========================================
+ Hits 646 672 +26
- Misses 202 211 +9 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
Krastanov
left a comment
There was a problem hiding this comment.
This is a great start, thank you for engaging with this.
I am leaving a few comments on suggested structure below.
We should probably also add some simplification rules to the database of rules: https://github.com/QuantumSavory/QuantumSymbolics.jl/blob/main/src/QSymbolicsBase/rules.jl
It can be a new _ROT list of rules, containing things like Rot(a)*Rot(b) = Rot(a+b) and commutation relationships between them and commutation relationships with Paulis, and conversion of exponentials of Paulis into rot gates.
For testing we can add something that checks an equality of a bunch of expressions of the type express(expr) == express(expr(simplify(expr))) -- that way we check consistency between the numerical representation and the symbolic simplification rules.
|
Summary of changes made
|
Krastanov
left a comment
There was a problem hiding this comment.
Thanks for updating this! There are a couple of simplification rules that I do not fully understand, could you address the questions below?
Are there predefined rotations gates in QuantumOptics.jl? If yes, we should probably use them or at least make sure we are consistent with them.
|
Marking as draft just so I can keep my review queue organized. Do not hesitate to mark it back as ready and re-request a review. |
|
Summary of changes from previous review:
CHANGELOG:
Notes:
Please let me know if I should change that, or make any other improvements |
Krastanov
left a comment
There was a problem hiding this comment.
just one minor change, otherwise this looks great
Krastanov
left a comment
There was a problem hiding this comment.
Keeping this open, just to make sure I run a few LLM tools on it that i have wanted to introduce in the workflow.
QuantumSymbolics.jl is currently missing rotation gates.
I decided to implement these gates as RGate, which are structs which take in a direction and angle.
expressfunctionality for QuantumOpticsRepr is also implementedCHANGELOG:
expressfor AbstractRotGate in QuantumOpticsReprCHECKLIST:
Edit from Stefan: closes #94