Qiskit的林后端:在Rigetti quantum计算机或模拟器上运行Qiskit代码

quantastica-qiskit-forest的Python项目详细描述


Qiskit的林后端

允许在Rigetti模拟器和量子计算机上运行Qiskit代码,只需更改两行Qiskit代码。在

More goodies athttps://quantastica.com

安装

pip install quantastica-qiskit-forest

使用

ForestBackend导入您的Qiskit代码:

^{pr2}$

并将Aer.get_backend替换为ForestBackend.get_backend。在

示例

fromqiskitimportQuantumRegister,ClassicalRegisterfromqiskitimportQuantumCircuit,execute,Aer# Import ForestBackend:fromquantastica.qiskit_forestimportForestBackendqc=QuantumCircuit()q=QuantumRegister(2,"q")c=ClassicalRegister(2,"c")qc.add_register(q)qc.add_register(c)qc.h(q[0])qc.cx(q[0],q[1])qc.measure(q[0],c[0])qc.measure(q[1],c[1])# Instead:#backend = Aer.get_backend("qasm_simulator")# Use:backend=ForestBackend.get_backend("qasm_simulator")# OR:# backend = ForestBackend.get_backend("statevector_simulator")# backend = ForestBackend.get_backend("Aspen-7-28Q-A")# backend = ForestBackend.get_backend("Aspen-7-28Q-A", as_qvm=True)# ...# To speed things up a little bit qiskit's optimization can be disabled# by setting optimization_level to 0 like following:# job = execute(qc, backend=backend, optimization_level=0)job=execute(qc,backend=backend)job_result=job.result()print(job_result.get_counts(qc))

先决条件

rigetton运行你的本地模拟器

您需要安装Rigetti Forest SDK,并确保quilc编译器和qvm模拟器正在运行:

打开新终端并运行:

quilc -S

在一个新的终端运行中:

qvm -S -c

在Rigetti量子计算机上运行

  • 您需要访问RigettiQuantum Cloud Services(QCS)

  • 在你的量子机器映像(QMI)中安装这个包和Qiskit

  • 保留aQPU lattice

  • 通过QMI终端或QMI提供的Jupyter笔记本运行代码

细节

语法

ForestBackend.get_backend(backend_name = None, as_qvm = False)

参数

backend_name可以是:

  • 任何有效的Rigetti晶格名称

或者:

  • qasm_simulator将作为Nq-qvm发送到QVM(其中N是电路中的量子比特数)

  • statevector_simulator将作为WavefunctionSimulator.wavefunction()执行

如果没有提供后端名称,那么它将充当qasm_simulator

as_qvm布尔值:

  • False(默认)

  • True:如果后端的名称是QPU晶格名称,那么代码将在QVM上执行,它将模拟QPU

就这样。享受吧!:)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
javascript节点js require()和Rhino Shell load()之间的区别是什么?   While循环中的java If语句   java GXT如何在XTemplate中显示treeobject?   如何将黑白图像加载到二进制文件中?   java ORMLite不知道如何存储班级航班。扫描仪。modelFX。机场航空公司的AirlineFx。使用另一个类或自定义持久器   java组织。阿帕奇。德比。客户是SqlException JSP和JSTL查询   spring如何将clob数据分配给java变量   java从上的表获取数据(Spring)   javaphp使用Exec执行带有用户定义参数的Jar文件   java jsonschema2pojo:引用相同类型的对象   使用原语从Scala调用Java vararg方法   java ClassNotFoundException:ClientBuilder Jersey 2.25.1 Tomcat 9.0   Android(Java)cr_BindingManager:无法调用determinedVisibility()从未看到pid的连接:   Java使用LocalTime类比较没有日期的时间   Java如何初始化对象的参数?