Open Krastanov opened 1 year ago
Awesome! Looks like some interesting stuff. I had a think about how to do this integration and I have a few ideas. The graph simulator I mentioned is here in the graph_sim_mini
and graph_sim_data
files. There are a few things to do:
graph_sim_mini
take in QuantumClifford.jl
circuits. This shouldn't be too bad since it only supports 8 operations. (6 single qubit Cliffords (modulo Paulis) and the CZ/CX gates).graph_sim_mini
is that I don't provide any tools for measurement (we just care about generating the graph). The easiest way to include this functionality is just to convert the graph to a tableau and use the sampling operations you already have available. But converting to a tableau is O(# qubits) and for sparse cases where graph_sim_mini
would be applied, the number of qubits will most likely be large.graph_sim_mini
ignores Paulis)benchq
is provided under Apache and QuantumClifford.jl
is under GNU just taking graph_sim_mini
and graph_sim_data
and plopping them into QuantumClifford.jl
might cause some issues with Zapata's IP unless we include a copy of Apache in the files along with a notice that it's been modified. (tbh I don't care about this at all, I just don't want our lawyers to get mad at me... so I'll have to talk with someone who knows more)I think that does it! Probably not too much work. But will take a few hours at least.
Tagging @ScottPJones here since he expressed interest in this project as well.
Hello @Krastanov! Can we meet sometime soon to discuss how this integration would happen? I've got some questions about how QuatnumClifford.jl
works. Tbh it's probably just stemming from my lack of Julia knowledge. But it would still be helpful to know what data structures I should be using.
@AthenaCaesura , apologies, I missed the notification about this post. I am relatively available next week, is there a day you would prefer to have a call on? It is probably more reliable to message me at stefan@krastanov.org
Hello! Sorry I missed your message now! (why don't we just email from now on since this has failed us twice 😆 ). I figured out that my point 3 above is going to be much harder than I anticipated. But I am in the process of working it out right now.
Hi, @AthenaCaesura ! You mentioned that there is a graph state simulator that can be "extracted" from this codebase. The dense tableau simulator I mentioned is https://github.com/QuantumSavory/QuantumClifford.jl