Skip to main content

Wavefunction initializers for Qiskit based on matrix product states (MPS)

Project description

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.quantum_state 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(data=psi, number_of_layers=number_of_mps_layers)

# generate the initializer circuit for this state
circuit = state.mps_initializer_circuit

# the circuit object is a qiskit.QuantumCircuit object which
# means you can do whatever you could natively do in Qiskit
circuit.draw('mpl')

[!IMPORTANT] Note that the documentation of this package is in preparation now and will be linked here. Until then, you can check out the source code to get an idea of functions and classes exported in this package.

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qiskit_mps_initializer-0.2.0.tar.gz (100.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

qiskit_mps_initializer-0.2.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file qiskit_mps_initializer-0.2.0.tar.gz.

File metadata

File hashes

Hashes for qiskit_mps_initializer-0.2.0.tar.gz
Algorithm Hash digest
SHA256 33154b8c17ba7f9f6d5bfc4d769b8ae8461c8d655da69e39fd3447c93956181b
MD5 d2ece65d087e2d6e5ea9818256e92d03
BLAKE2b-256 36f9126244e5b64c30ac5de1b00a5052bd8c4097042be476f01c537d3c979389

See more details on using hashes here.

File details

Details for the file qiskit_mps_initializer-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for qiskit_mps_initializer-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 098b48b86e227a367a7e1f66d90cf292b3b44406d08190cb618913c843179ecc
MD5 798a7a5db8a098c5384be6b4883d92df
BLAKE2b-256 5e88ae738e33987c2a51481963a4d63d8feff4507f33eeb4552d74d695339765

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page