Skip to main content

Suface code simulations package

Project description

Surface-sim

example workflow Code style: black PyPI

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

surface_sim-0.3.0.tar.gz (34.4 kB view details)

Uploaded Source

Built Distribution

surface_sim-0.3.0-py3-none-any.whl (58.0 kB view details)

Uploaded Python 3

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

Hashes for surface_sim-0.3.0.tar.gz
Algorithm Hash digest
SHA256 1f9f0f96467fa0139c0ccf762350f5a1a71d53afb5fe002d1c96b848c726f3ae
MD5 14e46e6545757443931c93009d1a0d81
BLAKE2b-256 9e4d57ee73479f9fd6000a164437317c83c5f1338eca0213e886425214d72233

See more details on using hashes here.

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

Hashes for surface_sim-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 11587104cbc42ee76c7484b18f7e28105a3b3106722ea7ba43f5deab03652e10
MD5 5ca2924d61948fea7d780835e8193e78
BLAKE2b-256 24cff81d965c84eb4cf1a547900673cbabab501e7e2033ba00ca66742b1d9313

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page