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
- The issue lies in math implementation details that can be found inside the markdown located in
- 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
Release history Release notifications | RSS feed
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 sdim-1.1.0.tar.gz
.
File metadata
- Download URL: sdim-1.1.0.tar.gz
- Upload date:
- Size: 44.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.5 Linux/5.15.153.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5904b6c3291671ba9663ecb64e82c08961d7d17f55b932160ee716140639d791 |
|
MD5 | adb867eb295e003db35dce2d51a48651 |
|
BLAKE2b-256 | 4deffbf58a4d223303cff52d8c57659f8f3d0211a7d4a9ada8f4234945dcb89e |
File details
Details for the file sdim-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: sdim-1.1.0-py3-none-any.whl
- Upload date:
- Size: 48.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.5 Linux/5.15.153.1-microsoft-standard-WSL2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72d825f20957a3977fcbdfde656a854aaf5ac1613bf627ec138cfb492ceeeb50 |
|
MD5 | 23a451c02d43f6f2b00bf10d71dac1da |
|
BLAKE2b-256 | 732f2c48d30ff339a1501d791bcea0a78c515c7de670edff0076ee921db33df9 |