-
Notifications
You must be signed in to change notification settings - Fork 52
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
Counting rotations notes #1309
Comments
We treat Rz(pi/4) as a T gate. I'm not sure how I feel about that; but for expediency I will reproduce this behavior in the QECGatesCost cost. However, the t_complexity protocol treats Rx(pi/4) as a rotation instead of a T and a clifford. I think we should be consistent and count these as a T gate. I'm not going to count them as a T+clifford because that complicates the code. The Rx and Ry bloq examples use T angles. We should change them to be arbitrary angle ✅ Done in #1313 |
LPRSInterimPrep -- its t_complexity method does not match its build_call_graph, or at least not how we usually treat it. Elsewhere, we treat a CRz as one "rotation"; here' each is treated as 2 rotations and 3 cliffords
✅ Done in #1323 |
QvrZPow.qvr_zpow uses six ZPowGates. 🟢 no longer applicable; following comment in #1313 , only classical-machine-tolerance angles will get rounded to clifford |
I think the t complexity of
since the 0 angle gets turned into a clifford ✅ done in #1323 |
LPResourceState also relies on simplifying CZ**1.0 to CZ ✅ done in #1297 edit: I apparently wrote this down twice, but the second comment is more accurate: simplification is not necessary since it's always CZ |
bloq_example "cmodadd_symbolic" has CAdd as one of its callees. The t complexity protocol reports the number of toffolis as @NoureldinYosri can you investigate ✅ fixed by #1329 |
LPResourceState uses CZPowGate(1.0) instead of just a CZ gate. Will change ✅ fixed by #1297 |
@mpharrigan The |
What should the cost be of the state and effect bloqs. ❓ #1323 gives these as zero complexity |
There's a meaningful discrepancy in the rotation count in I would strongly advocate for changing the call graph method of GeneralizedQSP to give n SU2 rotations instead of listing all of the different ones. The call graph is pretty unreadable at present |
fixed in #1329 |
This is broken in
The hacky logic probably used to consider these rotations(??) which is also wrong (given our convention) ✅ #1333 |
scaled_chebyshev_poly_even is broken for t_complexity and gate counts because it runs into Controlled(atomic)
|
product_block_encoding_symb doesn't work because there is no symbolic decomposition and there is no ✅ done by @charlesyuan314 in #1352 |
🚧 #1359 just removes the |
Other bloq examples with mismatched clifford counts
that I suspect go via CAdd Last clifford discrepancy:
that I haven't investigated yet |
it's okay to remove it ... it was written for an old decomposition and had to be fixed before. |
These are all fixed |
No description provided.
The text was updated successfully, but these errors were encountered: