TQSim is a Topological Quantum Computing simulator based on Anyon models
Project description
TQSim
TQSim stands for Topological Quantum Simulator. It is an open-source library for simulating topological quantum computer based on anyons.
Installation
You can install TQSim from pip using
pip install --upgrade tqsim
Usage
1. Basic Example
In this example, we create a circuit with 2 qudits, made of 3 anyons each. We then braid the anyons manually.
from tqsim import AnyonicCircuit
circuit = AnyonicCircuit(2, 3) # Create a circuit having 2 qudits and 3 anyons per qudits
circuit.braid(1, 2) # Braids the first with the second anyon
circuit.braid(3, 4) # Braids the first with the second anyon
circuit.braid(2, 1)
circuit.measure() # Measure the system by fusing the anyons
circuit.draw() # Draw the circuit
Here is the output of the draw() method:
Simulating the circuit:
circuit.run(shots = 50)
Output:
{'counts': {'0': 16, '2': 20, '4': 14}, 'memory': array([4, 2, 2, 2, 2, 2, 2, 4, 2, 4, 2, 0, 0, 0, 4, 0, 4, 0, 0, 0, 0, 4,
2, 4, 0, 2, 0, 0, 0, 0, 4, 4, 2, 2, 2, 4, 2, 2, 0, 0, 2, 4, 2, 2,
4, 2, 4, 4, 0, 2])}
2. Simulating a Hadamard gate
Here we simulate the application of a Hadamard gate on a single qudit with 3 anyons. Unlike the previous example, we will use a braiding sequence of braiding operators and their corresponding powers.
from tqsim import AnyonicCircuit
circuit = AnyonicCircuit(nb_qudits=1, nb_anyons_per_qudit=3) # Create a circuit with 1 qudit composed of 3 anyons
circuit.initialize([0,0,1]) # We initialize the circuit in the last state (state 2).
# For this circuit, we have 3 basis states: [0, 1, 2].
# The Hadamard gate braiding sequence in terms of braiding operators
had_sequence = [[1, 2], [2, 2], [1, -2], [2, -2], [1, 2], [2, 4], [1, -2], [2, 2],
[1, 2], [2, -2], [1, 2], [2, -2], [1, 4]]
circuit.braid_sequence(had_sequence) # We apply the braiding sequence.
# This should put our qudit in a superposition of the states 2 and 1.
circuit.measure() # Measure the system by fusing the anyons
circuit.draw() # Draw the circuit
The Hadamard braid looks like this
Simulating the circuit:
result = circuit.run(shots = 1000) # Run the circuit 1000 times.
print(result['counts']) # Show the counts only.
Output:
{'1': 493, '2': 507}
Authors and Citation
Abdellah Tounsi, Mohamed Messaoud Louamri, Nacer eddine Belaloui, and Mohamed Taha Rouabah – Constantine Quantum Technologies.
If you have used TQSim in your work, please use the BibTeX file to cite the authors.
License
Copyright © 2022, Constantine Quantum Technologies. Released under the Apache License 2.0.
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tqsim-0.0.2.tar.gz.
File metadata
- Download URL: tqsim-0.0.2.tar.gz
- Upload date:
- Size: 17.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.4 Linux/5.15.0-52-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
86d91cfb7697ca06e5b1dd4f9840a7fdb538c8d4359a5b29bf32c0f54d27586f
|
|
| MD5 |
083ddaf6be7d4ecf54140d91c89c62b5
|
|
| BLAKE2b-256 |
df99525e7ca179d9c38c378ce78750184e0d18a7669997a271c42f006ae5d01a
|
File details
Details for the file tqsim-0.0.2-py3-none-any.whl.
File metadata
- Download URL: tqsim-0.0.2-py3-none-any.whl
- Upload date:
- Size: 19.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.2.2 CPython/3.10.4 Linux/5.15.0-52-generic
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9300b77af73a449ff789c5ee9e5265a51f87f34d490286c1d83363fc97680372
|
|
| MD5 |
4706d56076372eb535ea174468b5f644
|
|
| BLAKE2b-256 |
c4c027847bd3f62b974e39230a085bc5dba1e2ee28cdcf7daf211b91bc6b392b
|