quantum-viz.js Python tools
Project description
quantum-viz
quantum-viz is the Python package companion of quantum-viz.js, a JavaScript package that supports visualizing any arbitrary quantum gate, classical control logic and collapsed grouped blocks of gates using JSON-formatted input data. quantum-viz contains a Jupyter widget and will also include support for translating quantum circuits written in common quantum programming libraries to JSON using the quantum-viz.js JSON schema.
Installation
You can install the quantum-viz.js widget via pip from PyPI:
pip install quantum-viz
Example
To use the quantum-viz widget, run the below example code in a Jupyter notebook cell:
from quantum_viz import Viewer
# Create a quantum circuit that prepares a Bell state
circuit = {
"qubits": [{ "id": 0 }, { "id": 1, "numChildren": 1 }],
"operations": [
{
"gate": 'H',
"targets": [{ "qId": 0 }],
},
{
"gate": 'X',
"isControlled": "True",
"controls": [{ "qId": 0 }],
"targets": [{ "qId": 1 }],
},
{
"gate": 'Measure',
"isMeasurement": "True",
"controls": [{ "qId": 1 }],
"targets": [{ "type": 1, "qId": 1, "cId": 0 }],
},
],
}
widget = Viewer(circuit)
widget # Display the widget
Qiskit Integration
By installing the optional [qiskit] dependency, you can leverage Qiskit's QuantumCircuit APIs
to define the circuit and render it using the Viewer widget on Jupyter, for example:
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
from quantum_viz import Viewer
qr = QuantumRegister(3, 'q')
anc = QuantumRegister(1, 'ancilla')
cr = ClassicalRegister(3, 'c')
qc = QuantumCircuit(qr, anc, cr)
qc.h(qr[0:3])
qc.x(anc[0])
qc.h(anc[0])
qc.cx(qr[0:3], anc[0])
qc.h(qr[0:3])
qc.barrier(qr)
qc.measure(qr, cr)
Viewer(qc)
Optionally, you can also import the display method from quantum_viz.utils to render the circuit on a new browser window:
from quantum_viz.utils import display
display(qc)
Contributing
Check out our contributing guidelines to find out how you can contribute to quantum-viz.
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 quantum-viz-1.0.5.tar.gz.
File metadata
- Download URL: quantum-viz-1.0.5.tar.gz
- Upload date:
- Size: 10.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e6214317e5dcc370b732613e2bfb895b864d1740a2a9dd70c3e09551d75f6dd
|
|
| MD5 |
ccec0066d61c712abbca6ff13e401b1f
|
|
| BLAKE2b-256 |
a1d6289988da97b49b6bf169e3eb75491a1c1f3c08d4966d0805d1a6e6903cc5
|
File details
Details for the file quantum_viz-1.0.5-py3-none-any.whl.
File metadata
- Download URL: quantum_viz-1.0.5-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f3df8132577c1640277b167949f7418cd766074a79ee20dca4bdc265dca7853b
|
|
| MD5 |
c0755793235c2b37aef6ef31df000368
|
|
| BLAKE2b-256 |
5dee11b61a3434aa0bf65fed834496a23235f8de63bd133261942f6c9d828797
|