Skip to main content

Qiskit MPS Initializer

PyPI - License PyPI - Version PyPI - Python Version

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 (ty is currently in beta, pyrefly is also another candidate, both built using Rust)
  • Unit testing: pytest (no Rust-based alternative)
    • Randomization: hypothesis
  • Documentation: mkdocs
    • API auto-generation: mkdocstrings-python
    • Theme: mkdocs-material

Dependencies

  • Quantum circuits: qiskit
  • Data modeling & validation: pydatic
    • Numpy support: pydantic-numpy
  • 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)

Source distribution for qiskit-mps-initializer 0.2.4
File Size Uploaded
qiskit_mps_initializer-0.2.4.tar.gz 157.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qiskit-mps-initializer 0.2.4
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.2.4 This release

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page