Qiskit MPS Initializer
This package provides extra tools on Qiskit enabling you to initialize wavefunctions on a quantum computer using techniques based on matrix product states (MPS).
User guide
Installation
The easiest way to get started is using pip which installs the package and its dependencies in your project
pip install qiskit-mps-initializer
You can alternatively use uv, poetry or any other python package manager to install this package.
Usage
Once you have installed the package, you can import tools from it.
from qiskit_mps_initializer.datatypes import QuantumState
# wavefunction as an array of numbers, could use np.array as well
psi = [1, 3, 1, 2, 7, 8, 0, 1]
# number of layers of two-qubit gates to use for the initializer
number_of_mps_layers = 2
# create the state object
state = QuantumState.from_dense_data(data=psi, normalize=True)
# generate the initializer circuit for this state
circuit = state.generate_mps_initializer_circuit(number_of_layers=number_of_mps_layers)
# the circuit object is a qiskit.QuantumCircuit object which
# means you can do whatever you could natively do in Qiskit
circuit.draw('mpl')
Documentation
The project's documentation is located here. Check it out for more information.
[!CAUTION] This project is in alpha. This means you should expect drastic changes in the api in later releases.
Project credits
Tools
- Project and dependency manager:
uv - Linter:
ruff - Formatter & style:
ruff - Static typechecking:
pyright(tyis currently in beta,pyreflyis also another candidate, both built using Rust) - Unit testing:
pytest(no Rust-based alternative)- Randomization:
hypothesis
- Randomization:
- Documentation:
mkdocs- API auto-generation:
mkdocstrings-python - Theme:
mkdocs-material
- API auto-generation:
Dependencies
- Quantum circuits:
qiskit - Data modeling & validation:
pydatic- Numpy support:
pydantic-numpy
- Numpy support:
- Tensor networks:
quimb
Release files for qiskit-mps-initializer 0.2.4
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| qiskit_mps_initializer-0.2.4.tar.gz | 157.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| qiskit_mps_initializer-0.2.4-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 169.5 kB
Release files / qiskit_mps_initializer-0.2.4.tar.gz
| Download URL | qiskit_mps_initializer-0.2.4.tar.gz |
|---|---|
| Size | 157.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
df24b26c76e93d92b96f6efc0d95e5471611171efb5a5fb8467d8a2370ee8b7e
|
|
BLAKE2b-256 checksum How to use checksums |
0ebae5735392313f18586681ff0c729f2815f72b3d385028a093ddf05a6206bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.7.6
|
Release files / qiskit_mps_initializer-0.2.4-py3-none-any.whl
| Download URL | qiskit_mps_initializer-0.2.4-py3-none-any.whl |
|---|---|
| Size | 11.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
07134a22ed9c1f1e030593963043e4cec91813889e26a1875d554d49e2513c2e
|
|
BLAKE2b-256 checksum How to use checksums |
8d58037b772503ede2c57a59ded92ab8e47d954861e66087326c0a8f0ac92676
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.7.6
|