-
Notifications
You must be signed in to change notification settings - Fork 34
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
Draft: Embedding with lazy semantics #88
base: master
Are you sure you want to change the base?
Conversation
Basic version.
Codecov Report
@@ Coverage Diff @@
## master #88 +/- ##
==========================================
- Coverage 96.46% 96.35% -0.12%
==========================================
Files 26 26
Lines 3363 3370 +7
==========================================
+ Hits 3244 3247 +3
- Misses 119 123 +4
📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more |
I am in favor of this getting merged. This new functionality is not exported, so changes to it will still be possible. QuantumSymbolics and QuantumSavory would like to use it already, so there will be feedback on it as well. |
Ok, perhaps I'll add some simple tests first. |
Any chance we can remove the |
Huh, that's an interesting suggestion. Currently we define operators wrt to a concrete composite basis with integer indices. You could lazily embed operators on two qubits, then lazily embed the result into a larger system later. Not sure if that is currently supported, but it would be easy enough to do for the LazyTensor case. Another useful feature for this kind of use-case would be a "labeled basis". If we had that, we could map from smaller <-> larger composite systems by label. |
Maybe a first step would be to permit Named bases would also be nice, but I consider them separate from this. |
I converted this to draft, just to make it easier to track what I need to review on my github dashboard. |
Basic version.