Skip to main content
Archived

This project has been archived by its maintainers, and is no longer receiving any updates.

Qiskit BIPMapping Plugin

This repository contains a standalone routing stage to use the BIPMapping routing pass. The BIP mapping pass solves the routing and layout problems as a binary integer programming (BIP) problem. The algorithm used in this pass is described in:

G. Nannicini et al. "Optimal qubit assignment and routing via integer programming." arXiv:2106.06446

This plugin depends on CPLEX to solve the BIP problem. While a no-cost version of CPLEX is available (and published on PyPI) this has limits set on the size of the problems it can solve which prevents it from being used except for very small quantum circuits. If you would like to use this transpiler pass for larger circuits a CPLEX license will be required.

Install and Use plugin

To use the unitary synthesis plugin first install qiskit terra with the pull request:

pip install qiskit-bip-mapper

To install the plugin package. As part of the install process pip will install the no-cost version of CPLEX from PyPI automatically. However, if you're going to use the qiskit-bip-mapper plugin for running transpile() on circuits more than a couple qubits or with more than handful of 2 qubit gates you will likely need to install the commercial version of CPLEX.

Using BIPMapping pass

Once you have the plugin package installed you can use the plugin via the routing_method="bip" argument on Qiskit's transpile() function. For example, if you wanted to use the BIPMapping method to compile a 15 qubit quantum volume circuit for a backend you would do something like:

from qiskit import transpile
from qiskit.circuit.library import QuantumVolume
from qiskit.providers.fake_provider import FakePrague

qc = QuantumVolume(15)
qc.measure_all()
backend = FakePrague()

transpile(qc, backend, routing_method="bip")

Authors and Citation

The qiskit-bip-mapper is the work of many people who contribute to the project at different levels. Additionally, the plugin was originally developed as part of the Qiskit project itself and you can see the development history for it here:

If you use qiskit-bip-mapper in your research, please cite our paper as per the included BibTeX file file.

Metadata

Release files for qiskit-bip-mapper 0.1.0

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-bip-mapper 0.1.0
File Size Uploaded
qiskit-bip-mapper-0.1.0.tar.gz 22.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for qiskit-bip-mapper 0.1.0
File Interpreter ABI Platform
qiskit_bip_mapper-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 45.2 kB

Release files / qiskit-bip-mapper-0.1.0.tar.gz

Download URL qiskit-bip-mapper-0.1.0.tar.gz
Size 22.1 kB
Tags Source
SHA-256 checksum
How to use checksums
fb98a7162ddefbba53d1e318c2b327a0ef93954daae882cbbe9192416ef1ba56
BLAKE2b-256 checksum
How to use checksums
b1d0ae35e945c6f203c73d4775f811037acdcfd167b9850523cf86cd9d3d29cd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.28.2 requests-toolbelt/0.9.1 urllib3/1.26.13 tqdm/4.62.3 importlib-metadata/5.0.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.10

Release files / qiskit_bip_mapper-0.1.0-py3-none-any.whl

Download URL qiskit_bip_mapper-0.1.0-py3-none-any.whl
Size 23.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b41eef25c087896c9914910de965b418cb13f63a607727a82f2d23650fbe3d82
BLAKE2b-256 checksum
How to use checksums
92fba123555215c6d176e2149b7b2d898457e7352ef019835fe6eb8674765de5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.28.2 requests-toolbelt/0.9.1 urllib3/1.26.13 tqdm/4.62.3 importlib-metadata/5.0.0 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.6 CPython/3.10.10

Release history Release notifications | RSS feed

This release

0.1.0 This release

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