Qiskit的BIPMapping插件
项目描述
Qiskit BIPMapping插件
此存储库包含一个独立路由阶段,用于使用BIPMapping
路由传递。BIP映射传递将路由和布局问题作为一个二元整数规划(BIP)问题来解决。此传递中使用的算法在以下文献中描述:
G. Nannicini等人。“通过整数规划进行最优量子比特分配和路由。” arXiv:2106.06446
此插件依赖于CPLEX来解决BIP问题。虽然有一个免费的CPLEX版本(并发布在PyPI上),但它对可以解决的问题大小有限制,这阻止了它在非常小的量子电路之外的使用。如果您想使用此传递器传递来处理更大的电路,则需要CPLEX许可证。
安装和使用插件
要使用单位合成插件,首先使用pull request安装qiskit terra
pip install qiskit-bip-mapper
要安装插件包。在安装过程中,pip
会自动从PyPI安装无成本的CPLEX版本。但是,如果您打算使用qiskit-bip-mapper插件在具有超过几个量子比特或具有超过几十个2量子比特门的电路上运行transpile()
,则可能需要安装CPLEX的商业版本。
使用BIPMapping传递
一旦安装了插件包,您可以通过Qiskit的transpile()
函数中的routing_method="bip"
参数使用插件。例如,如果您想使用BIPMapping
方法编译一个15量子比特的量子体积电路,您将做类似以下的事情
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")
作者和引用
qiskit-bip-mapper是许多人的作品,他们在不同层面上为该项目做出贡献。这些人。此外,该插件最初是作为Qiskit项目本身的一部分开发的,您可以在以下位置查看其开发历史
- https://github.com/Qiskit/qiskit-terra/commits/0.23.3/qiskit/transpiler/passes/routing/bip_mapping.py
- https://github.com/Qiskit/qiskit-terra/commits/0.23.3/qiskit/transpiler/passes/routing/algorithms/bip_model.py
如果您在研究中使用了qiskit-bip-mapper
,请按照包含的BibTeX文件引用我们的论文。
项目详情
关闭
qiskit-bip-mapper-0.1.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fb98a7162ddefbba53d1e318c2b327a0ef93954daae882cbbe9192416ef1ba56 |
|
MD5 | 9ae4946eee378e63f643e37bfba4738b |
|
BLAKE2b-256 | b1d0ae35e945c6f203c73d4775f811037acdcfd167b9850523cf86cd9d3d29cd |
关闭
qiskit_bip_mapper-0.1.0-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b41eef25c087896c9914910de965b418cb13f63a607727a82f2d23650fbe3d82 |
|
MD5 | a730ffc52bce41908237a496a2141ecd |
|
BLAKE2b-256 | 92fba123555215c6d176e2149b7b2d898457e7352ef019835fe6eb8674765de5 |