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

Stim DecodingGraph #356

Merged
merged 3 commits into from
Apr 5, 2023
Merged

Conversation

hetenyib
Copy link
Contributor

@hetenyib hetenyib commented Apr 4, 2023

This PR contains two new methods in the CSSCodeCircuit class to generate a stim circuit with detectors; and a _make_syndrome_graph method that calls a util function from stim_tools generating a decoding graph. Additionally, the Node and Edge classes in decoding_graph_attributes.py needed a get attribute to enable pymatching to use the DecodingGraph.graph.

hetenyib added 3 commits April 4, 2023 17:16
New methods: 
1) 'stim_circuit_with_detectors' converts the qiskit circuit to stim and appends detectors
2) '_make_syndrome_graph' creates a rustworkx graph and hyper edge list to be passed onto the DecodingGraph class
New function: 'detector_error_model_to_rx_graph' creates a qiskit style decoding graph from a stim circuit
@quantumjim quantumjim merged commit 0dd4cd8 into qiskit-community:339-integrate-stim Apr 5, 2023
@hetenyib hetenyib deleted the patch-2 branch April 20, 2023 12:29
grace-harper pushed a commit that referenced this pull request Jun 9, 2023
* Code circuit builder -> integrate stim (#340)

* create CodeCircuit class (#329) (#332)

* create CodeCircuit class

* add more detail to init

* add default is_cluster_neutral

* add css code circuit

* Adding two methods: 'to_stim_circuit' and 'get_counts_via_stim' (#1)

* Update css_code.py

* Update css_code.py

* Update css_code.py

* stim integration in the CssCodeCircuit class (#341)

* Update css_code.py

* Update css_code.py

* Update css_code.py

* add stim

* separate stim functions from class

* move stim tools to utils

* black and lint

* document stim tools

* document stim tools

* add general noisification of circuits

* add support for StabSubsystemCode

* conflict avoidance

* Update __init__.py

* fix conflict

* complete StabSubsystem compatibility

* Stim DecodingGraph (#356)

* decoding graph via stim

New methods: 
1) 'stim_circuit_with_detectors' converts the qiskit circuit to stim and appends detectors
2) '_make_syndrome_graph' creates a rustworkx graph and hyper edge list to be passed onto the DecodingGraph class

* qiskit style decoding graph from stim circuit

New function: 'detector_error_model_to_rx_graph' creates a qiskit style decoding graph from a stim circuit

* Update decoding_graph_attributes.py

* undo conflict fix

* undo conflict resolution (#358)

* Test (for CSS codes), black, lint, py39 tests (#361)

* black + lint

* Add files via upload

* Update stim_tools.py

* Update css_code.py

* Grace's change requests (#363)

1) stim repeat block is still needed
2) specify what noise model means

* per review

* Documentation and functions (#374)

* fix linting issues

---------

Co-authored-by: hetenyib <[email protected]>
grace-harper pushed a commit that referenced this pull request Oct 2, 2023
* Code circuit builder -> integrate stim (#340)

* create CodeCircuit class (#329) (#332)

* create CodeCircuit class

* add more detail to init

* add default is_cluster_neutral

* add css code circuit

* Adding two methods: 'to_stim_circuit' and 'get_counts_via_stim' (#1)

* Update css_code.py

* Update css_code.py

* Update css_code.py

* stim integration in the CssCodeCircuit class (#341)

* Update css_code.py

* Update css_code.py

* Update css_code.py

* add stim

* separate stim functions from class

* move stim tools to utils

* black and lint

* document stim tools

* document stim tools

* add general noisification of circuits

* add support for StabSubsystemCode

* conflict avoidance

* Update __init__.py

* fix conflict

* complete StabSubsystem compatibility

* Stim DecodingGraph (#356)

* decoding graph via stim

New methods: 
1) 'stim_circuit_with_detectors' converts the qiskit circuit to stim and appends detectors
2) '_make_syndrome_graph' creates a rustworkx graph and hyper edge list to be passed onto the DecodingGraph class

* qiskit style decoding graph from stim circuit

New function: 'detector_error_model_to_rx_graph' creates a qiskit style decoding graph from a stim circuit

* Update decoding_graph_attributes.py

* undo conflict fix

* undo conflict resolution (#358)

* Test (for CSS codes), black, lint, py39 tests (#361)

* black + lint

* Add files via upload

* Update stim_tools.py

* Update css_code.py

* Grace's change requests (#363)

1) stim repeat block is still needed
2) specify what noise model means

* per review

* Documentation and functions (#374)

* fix linting issues

---------

Co-authored-by: hetenyib <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants