Qiskit 安装指南
内容参考官方文档 https://qiskit.org/documentation/install.html
conda create -n name_of_my_env python=3
创建虚拟环境,如果后面要下载qiskit[visualization],这里的python要安装3.6版本,不然后面安装pywinpty时,会有冲突,目前3.7和3.8版本都有问题。
conda activate name_of_my_env
激活虚拟环境,然后在虚拟环境里安包
pip install qiskit
这里可以直接安装,目前的qiskit已经到了0.16版本,目前有人安装的时候numpy的版本可能不匹配,需要安装对应版本。
pip install qiskit[visualization]
如果希望能够把线路图画出来,那么需要安装visualization,安装python3.6版本就不会有冲突。
至此,Qiskit的安装成功,如果要检验的话,这里有一段最为简单的代码,使用的是IBM的量子模拟器,如果你安装成功,将能直接运行得到答案。
import numpy as np
from qiskit import(
QuantumCircuit,
execute,
Aer)
from qiskit.visualization import plot_histogram
# Use Aer's qasm_simulator
simulator = Aer.get_backend('qasm_simulator')
# Create a Quantum Circuit acting on the q register
circuit = QuantumCircuit(2, 2)
# Add a H gate on qubit 0
circuit.h(0)
# Add a CX (CNOT) gate on control qubit 0 and target qubit 1
circuit.cx(0, 1)
# Map the quantum measurement to the classical bits
circuit.measure([0,1], [0,1])
# Execute the circuit on the qasm simulator
job = execute(circuit, simulator, shots=1000)
# Grab results from the job
result = job.result()
# Returns counts
counts = result.get_counts(circuit)
print("\nTotal count for 00 and 11 are:",counts)
# Draw the circuit
circuit.draw()
关于python的小伙伴,有一个常用的网页交互的小伙伴,Jupyter notebook。
关于安装,因为我直接采用的就是anaconda,所以直接就安装好了,不过现在直接使用jupyter notebook有一个问题,那就是,不能找到我们先前创造的conda环境,这里就需要进一步的配置。
conda install ipykernel
在base的环境里安装ipykernel,问y/n的那就都y了
python -m ipykernel install --user --name 环境名称 --display-name "在jupyter中显示的环境名称"
前一个环境名称是刚刚conda创建的虚拟环境的名字,后一个是jupyter中显示的名字,可以和前面的不一样。
这个时候再打开jupyter notebook : jupyter notebook,在new的地方就能看见新的环境了。
执行一下先前的代码,得到结果:
目前我们使用的是simulator,但是我们选择IBM一定是眼馋他的量子计算机,而不仅仅是个模拟,所以我们的下一步,就是想要来连上我们的真机器。
创建一个IBM的账号 https://quantum-computing.ibm.com/login
在My Account的地方复制自己的API token
运行以下语句:把引号中的字符串替换成自己的token
from qiskit import IBMQ
IBMQ.save_account('MY_API_TOKEN')
运行以下语句:
IBMQ.load_account() # Load account from disk 前面我们已经把账号存好了,现在直接加载下来就好。
IBMQ.providers() # List all available providers
不过这里可能出现一下问题
SSLEOFError: EOF occurred in violation of protocol (_ssl.c:852)
我搜到的解决方法有:
pip install ndg-httpsclient
pip install pyopenssl
pip install pyasn1
但是这样也可能解决不了问题,因为ssl的问题还有可能是开了代理(比如你的fq),当你关了代理的时候,SSLEOFError的问题就解决了。
这个时候你再查一查有哪些机器是可以给你用的,得到结果:
[<AccountProvider for IBMQ(hub='ibm-q', group='open', project='main')>]
这个时候,我们已经愉快地和真的机器有了联系。
我们重跑上面的代码,但是这次我们选择真的机器来跑,IBM有不止一个的机器还有自己的名字:ibmq_qasm_simulator,ibmq_16_melbourne,ibmq_ourense,ibmqx2,ibmq_vigo等等
import numpy as np
from qiskit import(
QuantumCircuit,
execute,
Aer)
from qiskit.visualization import plot_histogram
from qiskit import IBMQ
provider = IBMQ.load_account()
backend = provider.get_backend('ibmq_16_melbourne')
# Create a Quantum Circuit acting on the q register
circuit = QuantumCircuit(2, 2)
# Add a H gate on qubit 0
circuit.h(0)
# Add a CX (CNOT) gate on control qubit 0 and target qubit 1
circuit.cx(0, 1)
# Map the quantum measurement to the classical bits
circuit.measure([0,1], [0,1])
# Execute the circuit on the qasm simulator
job = execute(circuit, backend, shots=1000)
# Grab results from the job
result = job.result()
# Returns counts
counts = result.get_counts(circuit)
print("\nTotal count for 00 and 11 are:",counts)
# Draw the circuit
circuit.draw()
在真的机器上跑要等一会,排个队,等前面的人跑完了再轮到你,让我们来看看这个期待的结果:
因为有噪声的存在,所以原本不该出现的01,10也会产生,这也是真机和模拟器的区别。
Qiskit 安装指南的更多相关文章
- nGrinder安装指南
NGrinder 由两个模块组成,其运行环境为 Oracle JDK 1.6 nGrinder controller web 应用程序,部署在Tomcat 6.x 或更高的版本 nGrinder A ...
- postgresql pgsql最新版安装指南及数据存储路径更改及主从配置
postgresql pgsql最新版安装指南及数据存储路径更改及主从配置 安装指南 首先在apt的list添加你当前系统版本对应的apt列表 目前官网有16.04,14.04,12.04 分别对应下 ...
- 全新 Mac 安装指南(编程篇)(环境变量、Shell 终端、SSH 远程连接)
注:本文专门用于指导对计算机编程与设计(尤其是互联网产品开发与设计)感兴趣的 Mac 新用户,如何在 Mac OS X 系统上配置开发与上网环境,另有<全新 Mac 安装指南(通用篇)>作 ...
- 全新 Mac 安装指南(通用篇)(推荐设置、软件安装、推荐软件)
注:本文将会不定期维护与更新,有需要的朋友请在 Github 上订阅该条 Issues:<全新 Mac 安装指南(通用篇)>. 在 Mac 电脑上只用 Windows 操作系统的同学请看到 ...
- ArchLinux安装指南
将ArchLinux作为进阶Linux发行版,主要看重滚动更新和深入理解Linux的安装过程. 由于是新手,所以先选择在公司电脑上用VMware来安装.然后渐进到借助U盘在win10笔记本上安装双系统 ...
- Linux环境中Openfire安装指南
Linux环境中Openfire安装指南 安装环境: 安装软件:Openfire 4_1_0 http://download.igniterealtime.org/openfire/openfire_ ...
- scrapy3_ 安装指南
安装指南 安装Scrapy 注解 请先阅读 平台安装指南. 下列的安装步骤假定您已经安装好下列程序: Python 2.7 Python Package: pip and setuptools. 现在 ...
- storm 原理简介及单机版安装指南——详细版【转】
storm 原理简介及单机版安装指南 本文翻译自: https://github.com/nathanmarz/storm/wiki/Tutorial 原文链接自:http://www.open-op ...
- mac osx 系统 brew install hadoop 安装指南
mac osx 系统 brew install hadoop 安装指南 brew install hadoop 配置 core-site.xml:配置hdfs文件地址(记得chmod 对应文件夹 ...
随机推荐
- php查看进程
index.php <?php /** * Created by PhpStorm. * User: mac * Date: 2020/4/23 * Time: 21:57 */ echo ...
- 第一章 Linux操作系统及其历史介绍
一.什么是操作系统 1.基本含义: 简称OS 是计算机系统中必不可少的基础系统软件,是应用程序运行和用户操作必备的基础环境 操作系统就是一个人与计算机之间的中介 2.组成方式: 操作系统的组成: 计算 ...
- HTML 的属性
HTML 属性赋予元素意义和语境. 下面的全局属性可用于任何 HTML 元 属性 描述 accesskey 规定激活元素的快捷键. class 规定元素的一个或多个类名(引用样式表中的类). cont ...
- BCE和CE交叉熵损失函数的区别
首先需要说明的是PyTorch里面的BCELoss和CrossEntropyLoss都是交叉熵,数学本质上是没有区别的,区别在于应用中的细节. BCE适用于0/1二分类,计算公式就是 " - ...
- airtest操作夜神模拟器adb冲突解决办法
首先看错误日志明显是adb之间版本不对应互相干掉对方 第一步 去aritestIde所在目录\AirtestIDE\airtest\core\android\static\adb\windows 第二 ...
- drf (学习第三部)
目录 视图 视图额基类 视图类扩展 GenericAPIView的视图子类 视图集ViewSet 路由Routers 视图 Django REST framework 提供的视图的主要作用: 控制序列 ...
- 显示器类型对美乐威NDI IP转换器延时影响测试
背景 用户在选择用网络传输视频时,传输延迟通常是他们非常关心的数据.集成商在探究如何降低视频传输延时,往往专注于网络本身和视频编码的优化,容易忽略视频解码和播出也是整个视频传输过程中非常重要的环节.本 ...
- 11 Servlet_03 关键字总结 资源跳转:重定项 键值对 继承类 do-get do-post Request域 Context域 =空针解决方法
知识点总结: 1.java里的关键字: byte short int long 数据类型 (正整数)char 数据类型(单字符型)boolesn ture false 布尔类型float dou ...
- 【译】Ringbahn的两个内存Bug
原文链接:https://without.boats/blog/two-memory-bugs-from-ringbahn/ 原文标题:Two Memory Bugs From Ringbahn 公众 ...
- OpenCascade拓扑对象之:有向边和共边
@font-face { font-family: "Times New Roman" } @font-face { font-family: "宋体" } @ ...