Suface code simulations package
Project description
Surface-sim
This package is a wrapper around Stim that aims to help the construction of QEC-code circuits easier. The package implements model classes that help with inserting ciruit-level noise models. It uses a code layout that helps with qubit labeling, indexing and connectivity. Finally, there are a number of circuits for the rotated surface code that are implemented in the package.
For more information see the documentation in docs/
.
Installation
This package is available in PyPI, thus it can be installed using
pip install surface-sim
or alternatively, it can be installed from source using
git clone git@github.com:MarcSerraPeralta/surface-sim.git
pip install surface-sim/
Example
from surface_sim.layouts import rot_surf_code
from surface_sim.models import CircuitNoiseModel
from surface_sim.setup import CircuitNoiseSetup
from surface_sim import Detectors
from surface_sim.experiments.rot_surface_code_css import memory_experiment
# prepare the layout, model, and detectors objects
layout = rot_surf_code(distance=3)
qubit_inds = {q: layout.get_inds([q])[0] for q in layout.get_qubits()}
anc_qubits = layout.get_qubits(role="anc")
data_qubits = layout.get_qubits(role="data")
setup = CircuitNoiseSetup()
model = CircuitNoiseModel(setup, qubit_inds)
detectors = Detectors(anc_qubits, frame="1")
# create a memory experiment
NUM_ROUNDS = 10
DATA_INIT = {q: 0 for q in data_qubits}
ROT_BASIS = True # X basis
MEAS_RESET = True # reset after ancilla measurements
PROB = 1e-5
setup.set_var_param("prob", PROB)
stim_circuit = memory_experiment(model, layout, detectors, NUM_ROUNDS, DATA_INIT, ROT_BASIS, MEAS_RESET)
For more information and examples about surface-sim
, please read the docs/
.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file surface_sim-0.3.0.tar.gz
.
File metadata
- Download URL: surface_sim-0.3.0.tar.gz
- Upload date:
- Size: 34.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f9f0f96467fa0139c0ccf762350f5a1a71d53afb5fe002d1c96b848c726f3ae |
|
MD5 | 14e46e6545757443931c93009d1a0d81 |
|
BLAKE2b-256 | 9e4d57ee73479f9fd6000a164437317c83c5f1338eca0213e886425214d72233 |
File details
Details for the file surface_sim-0.3.0-py3-none-any.whl
.
File metadata
- Download URL: surface_sim-0.3.0-py3-none-any.whl
- Upload date:
- Size: 58.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11587104cbc42ee76c7484b18f7e28105a3b3106722ea7ba43f5deab03652e10 |
|
MD5 | 5ca2924d61948fea7d780835e8193e78 |
|
BLAKE2b-256 | 24cff81d965c84eb4cf1a547900673cbabab501e7e2033ba00ca66742b1d9313 |