宾尼兰图书馆的rigetti后端

PennyLane-Forest的Python项目详细描述


Build StatusDocumentation Status

包含Pennylane Forest插件。这个插件允许三个rigetti设备与pennylane一起工作-波函数模拟器,量子虚拟机(qvm)和量子处理单元(qpu)。

pyQuil是使用量子指令语言(quil)进行量子编程的python库,生成的量子程序可以使用Rigetti Forest SDKRigetti QCS执行。

PennyLane是一个用于混合量子经典计算优化和自动微分的机器学习库。

功能

  • 提供四个与Pennylane一起使用的设备:^{TT1}$、^{TT2}$、^{TT3}$和^{TT4}$。它们分别提供对pyqvm-numpy波函数模拟器、forest波函数模拟器、量子虚拟机(qvm)和量子处理单元(qpu)的访问。
  • 所有提供的设备都支持所有核心的qubit pennylane操作和可观察性。
  • 提供自定义Pennylane操作以覆盖其他Pyquil操作:^{TT5}$,^{TT6}$,^{TT7}$,^{TT8}$,^{TT9}$,以及更多操作。每个自定义操作都支持分析差异化。
  • 将Forest和Rigetti云服务与Pennylane的自动差异化和优化结合起来。

安装

Pennylane森林需要Pennylane和Pyquil。它可以通过pip

安装
$ python -m pip install pennylane-forest

开始

一旦安装了Pennylane Forest插件,就可以在Pennylane中直接访问提供的三个Pyquil设备。

您可以为Pennylane实例化这些设备,如下所示:

importpennylaneasqmldev_numpy=qml.device('forest.numpy_wavefunction',wires=2)dev_simulator=qml.device('forest.wavefunction',wires=2)dev_pyqvm=qml.device('forest.qvm',device='2q-pyqvm',shots=1000)dev_qvm=qml.device('forest.qvm',device='2q-qvm',shots=1000)dev_qpu=qml.device('forest.qpu',device='Aspen-0-12Q-A',shots=1000)

这些设备可以像其他设备一样用于定义和评估Pennylane中的Qnode。有关更多详细信息,请参阅plugin usage guide,并参阅pennylane文档。

贡献

我们欢迎您的贡献-只需叉出Pennylane森林资源库,然后 pull request包含您的贡献。Pennylane Forest的所有贡献者都将被列为发行版的作者。

我们还鼓励错误报告、新功能和增强的建议,甚至链接到基于Pennylane和Pyquil构建的酷项目或应用程序。

支架

如果您有问题,请通过在我们的github问题跟踪器上发布该问题来通知我们。

许可证

Pennylane Forest是freeopen source,根据BSD 3子句license发布。

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

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为