生成量子指令语言(QUIL)程序的Python库。

qcs的Python项目详细描述


皮奎尔

使用rigetti forest平台轻松生成要执行的quil程序的库。 pyquil是根据Apache 2.0 license授权的。

Build StatusDocumentation Status

文档

文档位于http://pyquil.readthedocs.io/en/latest/

安装

您可以将pyquil作为conda包安装(推荐):

conda install -c rigetti pyquil

或者使用pip

pip install pyquil

要从源代码安装pyquil,请克隆此存储库,cd并运行:

pip install -e .

连接到rigetti forest

pyquil可以不受限制地用于构建和操作quil程序。但是,要跑 程序(例如,要获取波函数,获取多热点实验数据),您将需要一个api密钥 对于Rigetti Forest。这将允许您在 rigetti量子虚拟机(qvm)或真实量子处理器(qpu)上。

拿到钥匙后,运行以下命令自动设置配置:

pyquil-config-setup

如果愿意,也可以手动创建配置文件并将其放置在~/.pyquil_config。 配置文件为ini格式,应包含连接到林所需的所有信息:

[Rigetti Forest]
key: <Rigetti Forest API key>
user_id: <Rigetti User ID>

您可以通过设置PYQUIL_CONFIG环境变量来更改此文件的位置。

如果在尝试连接到林时遇到错误或警告,请查看完整的 Getting Started Guide

使用rigetti qvm的示例

下面是如何构造bell状态程序以及如何计算其波函数的振幅:

>>>frompyquil.quilimportProgram>>>frompyquil.apiimportQVMConnection>>>frompyquil.gatesimport*>>>qvm=QVMConnection()>>>p=Program(H(0),CNOT(0,1))<pyquil.pyquil.Programobjectat0x101ebfb50>>>>qvm.wavefunction(p).amplitudesarray([0.7071067811865475+0j,0j,0j,0.7071067811865475+0j])

如何进行钟态量子位0和1的模拟多热实验。(当然, 每个测量对都是0011。)

>>>frompyquil.quilimportProgram>>>frompyquil.apiimportQVMConnection>>>frompyquil.gatesimport*>>>qvm=QVMConnection()>>>p=Program()>>>p.inst(H(0),...CNOT(0,1),...MEASURE(0,0),...MEASURE(1,1))<pyquil.pyquil.Programobjectat0x101ebfc50>>>>print(p)H0CNOT01MEASURE0[0]MEASURE1[1]>>>qvm.run(p,[0,1],10)[[0,0],[1,1],[1,1],[0,0],[0,0],[1,1],[0,0],[0,0],[0,0],[0,0]]

社区

加入位于http://slack.rigetti.com的公共林空闲频道。

以下项目由社区成员提供:

开发pyquil

要对pyquil本身进行更改,请参阅DEVELOPMENT.md以获取有关开发和测试的说明。

如何引用pyquil和forest

如果您在研究中使用Pyquil、Grove或Rigetti Forest Stack的其他部分,请按如下方式引用:

双唇:

@misc{1608.03355,
  title={A Practical Quantum Instruction Set Architecture},
  author={Smith, Robert S and Curtis, Michael J and Zeng, William J},
  journal={arXiv preprint arXiv:1608.03355},
  year={2016}
}

文本:

R. Smith, M. J. Curtis and W. J. Zeng, "A Practical Quantum Instruction Set Architecture," (2016), 
  arXiv:1608.03355 [quant-ph], https://arxiv.org/abs/1608.03355

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

推荐PyPI第三方库


热门话题
如何加载。java文件到编译器?   java写入文件和I/O   java日历返回错误的当前日期安卓   if语句if变量等于1(java)   java很难让Joda有时间使用我的bukkit插件   json如何创建基于java的应用程序,该应用程序将从网站获取输入   java如何在多页中打印大型JPanel   java my spinner在添加从firebase数据库中选择的多个值时被覆盖   java用Play框架覆盖HTTP方法   试图获取所有用户时,java错误请求400。Dto和表格   java支持bean加载图像后javascript自动调用JS函数   java在MTOM的@StreamingAttachment(Metro)中,Parsely的意思是什么   具有可抢占线程队列的多线程java执行器   Java Opencv connectedComponentsWithStats   java如何向数组中添加2D数组的数目   eclipse为什么我的Java Zork克隆不能正确循环?   java在哪里放置定制的第二个web。xml   java如何更改最近应用列表中显示的快照?   java Browser#getText()返回空字符串