安装与部署
现在的量子计算机都还没有普及,虽然有些大厂子高傲的发布了自己的量子计算机,但是深究下去只是模拟,感谢riigetti提供的官方文档支持,当然在这基础这个大厂也是做了点工作,不过,呵呵呵。想学量子计算机的同学可以去这个网站扒一扒,有你想要的内容https://rigetti.com/,以下内容均是安装官方的api进行的实验。
先安装用于支持python的量子计算机的包。
pip install pyquil
然后下载量子计算机模拟器,并安装
tar -xf forest-sdk-linux-deb.tar.bz2
cd forest-sdk-2.0rc2-linux-deb
sudo ./forest-sdk-2.0rc2-linux-deb.run
安装之后需要开启量子计算机模拟器的虚拟机
qvm -S
quilc -S
如果没有出现报错信息说明安装正确。
接下来进行测试直接使用python,或者打开一个jupyter使用
>>> from pyquil import Program,get_qc
>>> from pyquil.gates import *
PyQuil还为您提供了方便的功能,以确保您的环境中当前正在运行本地qvm和quilc。要确保两者均可用,请执行然后使用 。如果尚未启动qvm和quilc实例,则将使用子进程启动它们。您还可以将其用作上下文管理器,如以下示例所示:
>>>from pyquil import Program,get_qc
>>> from pyquil.gates import *
>>>
>>> from pyquil.api import local_forest_runtime
>>> prog = Program(Z(0),CNOT(0,1))
>>> with local_forest_runtime():
... qvm = get_qc('9q-square-qvm')
... results = qvm.run_and_measure(prog,trials=10)
...
>>>
>>> p = Program(H(0),CNOT(0,1))
>>> # run the program on a QVM
... qc = get_qc('9q-square-qvm')
>>> result = qc.run_and_measure(p, trials=10)
>>> print(result[0])
[1 0 1 0 1 1 1 1 0 0]
>>> print(result[1])
[1 0 1 0 1 1 1 1 0 0]
比较两个阵列的测量结果。结果将在量子位之间相关,并且从一个镜头到另一个镜头都是随机的。
这qc
是一台模拟量子计算机。通过指定我们想要的.run_and_measure
,我们告诉QVM运行上面指定的程序,使用测量折叠状态,并将结果返回给我们。trials
是指我们运行整个程序的次数。
调用run_and_measure
将向我们在上一节中启动的两台服务器发出请求:首先,到quilc
服务器实例以将Quil程序编译为本机Quil,然后到qvm
服务器实例以模拟并返回程序的测量结果10次。如果打开正在运行服务器的终端窗口,则应该看到输出到控制台的有关您刚刚发出的请求的输出。