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 circuitGate, circuit, noise etc.
quri-parts-core
: General componentsOperator, state, estimator, sampler etc.
Platform (device/simulator) support
Quantum circuit simulators
Quantum platforms/SDKs
quri-parts-braket
: Amazon Braket SDKquri-parts-cirq
: Cirq (Only circuit and operator conversion is supported yet)quri-parts-qiskit
: Qiskitquri-parts-quantinuum
: Quantinuumquri-parts-ionq
: IONQ
Intermediate representation support
quri-parts-openqasm
: OpenQASM 3.0
quri-parts-algo
: AlgorithmsAnsatz, optimizer, error mitigation etc.
Chemistry
quri-parts-chem
: General conceptsFermion-qubit mapping, electron integrals, ansatz etc.
quri-parts-pyscf
: PySCFLibrary support
quri-parts-openfermion
: OpenFermion
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
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 Parts is available at https://quri-parts.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.
License#
QURI Parts is licensed under Apache License 2.0.
Contents#
- Tutorials
- Contribution Guidelines
- API Reference
- quri_parts.circuit package
- quri_parts.core package
- quri_parts.backend package
- quri_parts.algo package
- quri_parts.qulacs package
- quri_parts.braket package
- quri_parts.qiskit package
- quri_parts.cirq package
- quri_parts.chem namespace
- quri_parts.openfermion package
- quri_parts.stim package
- quri_parts.openqasm package
- quri_parts.quantinuum package
- quri_parts.ionq package
- quri_parts.itensor package
- quri_parts.pyscf package
- quri_parts.tket package