Skip to main content

A tableau Clifford simulator for qudits

Project description

sdim

Project Overview

Despite the growing research interest in qudits as an alternative way to scale certain quantum architectures, no publicly available stabilizer circuit simulators for qudits (multi-level quantum systems) are available. The two most prominent ones are Cirq which is a statevector simulation and True-Q™ which is a licensed program.

The following are relevant details for the project:

  • Supports only Clifford operations.
  • Prime dimensions are strongly tested while the "fast" solver for composite dimensions is known to have possible errors
    • The issue lies in math implementation details that can be found inside the markdown located in sdim/tableau
  • Does not currently .stim circuit notation, only a variant based on Scott Aaronson's original .chp

Project Installation

You can install the sdim Python module directly from PyPI using pip install sdim

How to use sdim?

Take a look at the Python notebooks for an in-depth examples.

from sdim import Circuit, Program

# Create a new quantum circuit
circuit = Circuit(4, 2) # Create a circuit with 4 qubits and dimension 2

# Add gates to the circuit
circuit.add_gate('H', 0)  # Hadamard gate on qubit 0
circuit.add_gate('CNOT', 0, 1)  # CNOT gate with control on qubit 0 and target on qubit 1
circuit.add_gate('CNOT', 0, [2, 3]) # Short-hand for multiple target qubits, applies CNOT between 0 -> 2 and 0 -> 3
circuit.add_gate('MEASURE', [0, 1, 2, 3]) # Short-hand for multiple single-qubit gates

# Create a program and add the circuit
program = Program(circuit) # Must be given an initial circuit as a constructor argument

# Execute the program
result = program.simulate(show_measurement=True) # Runs the program and prints the measurement results. Also returns the results as a list of MeasurementResult objects.

Primary References

[1] Aaronson, Scott, and Daniel Gottesman. “Improved Simulation of Stabilizer Circuits.” Physical Review A, vol. 70, no. 5, Nov. 2004, p. 052328. arXiv.org, https://doi.org/10.1103/PhysRevA.70.052328.

[2] de Beaudrap, Niel. “A Linearized Stabilizer Formalism for Systems of Finite Dimension.” Quantum Information and Computation, vol. 13, no. 1 & 2, Jan. 2013, pp. 73–115. arXiv.org, https://doi.org/10.26421/QIC13.1-2-6.

[3] Gottesman, Daniel. “Fault-Tolerant Quantum Computation with Higher-Dimensional Systems.” Chaos, Solitons & Fractals, vol. 10, no. 10, Sept. 1999, pp. 1749–58. arXiv.org, https://doi.org/10.1016/S0960-0779(98)00218-5.

Secondary References

[4] Farinholt, J. M. “An Ideal Characterization of the Clifford Operators.” Journal of Physics A: Mathematical and Theoretical, vol. 47, no. 30, Aug. 2014, p. 305303. arXiv.org, https://doi.org/10.1088/1751-8113/47/30/305303.

[5] Greenberg, H. (1971). Integer Programming. Academic Press. Chapter 6, Sections 2 and 3.

[6] Extended gcd and Hermite normal form algorithms via lattice basis reduction, G. Havas, B.S. Majewski, K.R. Matthews, Experimental Mathematics, Vol 7 (1998) 125-136

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

sdim-1.3.3.tar.gz (50.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sdim-1.3.3-py3-none-any.whl (55.5 kB view details)

Uploaded Python 3

File details

Details for the file sdim-1.3.3.tar.gz.

File metadata

  • Download URL: sdim-1.3.3.tar.gz
  • Upload date:
  • Size: 50.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.6 Darwin/24.5.0

File hashes

Hashes for sdim-1.3.3.tar.gz
Algorithm Hash digest
SHA256 a44b7f513c61c9842865b9173f37808487a475cdec52997da53afe3e63c25119
MD5 54682d0e434b87890b58ede81c39f53b
BLAKE2b-256 02e17f841498b3aa32dcaf8832da893a069b11d1d07c6841d3d9cdb79ecf9441

See more details on using hashes here.

File details

Details for the file sdim-1.3.3-py3-none-any.whl.

File metadata

  • Download URL: sdim-1.3.3-py3-none-any.whl
  • Upload date:
  • Size: 55.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.1 CPython/3.12.6 Darwin/24.5.0

File hashes

Hashes for sdim-1.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fb847ad00dbc10d171e88df41dcec9f1d9941be494f5a50ee5b33b434af8ed31
MD5 bd17422a5cad4308903205196d33a6c8
BLAKE2b-256 281b8e680be9a9dd1c1c774e6b2012b6f85ff7c3c8f9bde0625695dd38b4f3d4

See more details on using hashes here.

Supported by

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