Skip to main content

Platform-independent quantum computing library

Project description

QURI Parts

QURI Parts is an open source library suite for creating and executing quantum algorithms on various quantum computers and simulators. QURI Parts focuses on the followings:

  • Modularity and extensibility: It provides small parts with which you can assemble your own algorithms. You can also use ready-made algorithms, customizing their details by replacing sub components easily.
  • Platform independence: Once you assemble an algorithm with QURI Parts, you can execute it on various quantum computers or simulators without modifying the main algorithm code. Typically you only need to replace a few lines to switch to a different device or simulator.
  • Performance: When dealing with a simulator, it is often the case that classical computation before and after quantum circuit simulation (such as data preparation and post processing) takes considerable time, spoiling performance of the simulator. We put an emphasis on computational performance and try to get the most out of simulators.

Covered areas and components

Current QURI Parts covers the following areas, provided as individual components. Please note that more components will be added in future. You are also encouraged to propose or author new components as necessary.

  • Core components
    • quri-parts-circuit: Quantum circuit
      • Gate, circuit, noise etc.
    • quri-parts-core: General components
      • Operator, state, estimator, sampler etc.
  • Platform (device/simulator) support
    • Quantum circuit simulators
    • Quantum platforms/SDKs
  • Intermediate representation support
  • quri-parts-qsub: Structured circuit generation for FTQC algorithms
  • quri-parts-algo: Algorithms
    • Ansatz, optimizer, error mitigation etc.
  • Chemistry
    • quri-parts-chem: General concepts
      • Fermion-qubit mapping, electron integrals, ansatz etc.
    • quri-parts-pyscf: PySCF
    • Library support

Installation

QURI Parts requires Python 3.9.8 or later.

Use pip to install QURI Parts. Default installation only contains components not depending specific platforms (devices/simulators) or external libraries. You need to specify extras with square brackets ([]) to use those platforms and external libraries with QURI Parts:

# Default installation, no extras
pip install quri-parts

# Use Qulacs, a quantum circuit simulator
pip install "quri-parts[qulacs]"

# Use Amazon Braket SDK
pip install "quri-parts[braket]"

# Use Qulacs and OpenFermion, a quantum chemistry library for quantum computers
pip install "quri-parts[qulacs,openfermion]"

Currently available extras are as follows:

  • qulacs
  • braket
  • qiskit
  • cirq
  • openfermion
  • stim
  • openqasm
  • itensor
  • qsub

You can also install individual components (quri-parts-*) directly. In fact, quri-parts is a meta package, a convenience method to install those individual components.

Installation from local source tree

If you check out the QURI Parts repository and want to install from that local source tree, you can use requirements-local.txt. In requirements-local.txt, optional components are commented out, so please uncomment them as necessary.

pip install -r requirements-local.txt

Documentation and tutorials

Documentation of QURI SDK is available at https://quri-sdk.qunasys.com/. Tutorials would be a good starting point.

Release notes

See Releases page on GitHub.

Contribution guidelines

If you are interested in contributing to QURI Parts, please take a look at our contribution guidelines.

Authors

QURI Parts developed and maintained by QunaSys Inc.. All contributors can be viewed on GitHub.

License

QURI Parts is licensed under Apache License 2.0.

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

quri_parts-0.22.0.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

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

quri_parts-0.22.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file quri_parts-0.22.0.tar.gz.

File metadata

  • Download URL: quri_parts-0.22.0.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for quri_parts-0.22.0.tar.gz
Algorithm Hash digest
SHA256 d96d1b9faa28cb597392ab805c41ebbe7355d6ae211e4a139c7c705c2cd13e11
MD5 8497eaaee45d5061daf4d37f8dc5d041
BLAKE2b-256 8042668b983c3f3eeaf451cbb74cf0ba3951409eb91225c29cf8195aea07e764

See more details on using hashes here.

File details

Details for the file quri_parts-0.22.0-py3-none-any.whl.

File metadata

  • Download URL: quri_parts-0.22.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for quri_parts-0.22.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d3869fac09ea0d05a7d3d429842bcf6031f0b27e1d51d54e61fea7fcd797cd91
MD5 74cc3d2a34997e5c2d8022b47ccd25f2
BLAKE2b-256 3095e46948defd34a0963f7985241afe8e5dafb65a3483697bb4b7645b3a48e8

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