Skip to content
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

bloq_is_clifford treats MultiTargetCNOT as a single clifford gate #1318

Open
anurudhp opened this issue Aug 20, 2024 · 4 comments
Open

bloq_is_clifford treats MultiTargetCNOT as a single clifford gate #1318

anurudhp opened this issue Aug 20, 2024 · 4 comments

Comments

@anurudhp
Copy link
Contributor

Is this the expected behaviour due to some possibly optimized implementation?

@tanujkhattar @mpharrigan

@anurudhp anurudhp added this to the v1.0 milestone Aug 20, 2024
@mpharrigan
Copy link
Collaborator

instead of $n$ cliffords?

The notion of clifford counting is pretty poorly defined. In the surface code, you can do a multi-target cnot in 1 step (d cycles) -- the same speed as any other single clifford gate

@anurudhp
Copy link
Contributor Author

Ah! I think we should document this in the code clearly.

@mpharrigan
Copy link
Collaborator

The old t complexity code counts all the constituent CNOTs. Since it has a decomposition (isn't an atomic/leaf bloq) maybe we should keep counting them. However: there's no support for symbolic bitsize, which causes tests to fail. This bloq could probably do with a re-write to make it more readable and including a build_call_graph

@wjhuggins
Copy link
Collaborator

This is an example where I think we would benefit from counting things in terms of qubits * surface code cycles, as advocated in #1454.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants