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
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 |