Redian新闻
>
借助开源软件开发包尝试量子计算编程 | Linux 中国

借助开源软件开发包尝试量子计算编程 | Linux 中国

科技
 
导读:Qiskit 是一个开源 SDK,借助它可以免费访问量子模拟器和硬件资源。                 
本文字数:2924,阅读时长大约:4分钟

经典计算机是基于二进制数的,二进制数有 0 和 1 两种形式。这并不是由于二进制逻辑系统比有更多基本状态的逻辑系统(甚至包括模拟计算机)有内在优势。而是,对电路元件的开关操作很容易实现,而且借助先进的半导体技术,可以制造出体积小且价格低廉的计算机。

但它们并非没有局限性。经典计算机求解某些问题的效率并不高,主要是那些时间或内存成本随着问题的规模(O)呈指数级增长的问题。我们把这种问题称为 O(2n)(大 O 表示法🔗 en.wikipedia.org)。

大部分现代加密方法甚至依赖这一特性。把两个大素数相乘,耗费的成本低(O(n2)),但进行反向操作就非常耗时。所以只要使用的数字足够大,对它分解质因数就非常困难。

进入量子世界

量子计算的基础数学和力学知识不在本文的探讨范围内。然而,还是有一些基础知识需要预先说明。

量子计算机以 量子比特🔗 en.wikipedia.org 代替了二进制比特 —— 量子比特是体现量子属性的可控计算单元。构成量子比特的通常是超导元件,或自然界中存在的量子实物(例如电子)。量子比特可以以“叠加(superposition)”状态存在,叠加态是 0 和 1 以某种方式组合起来的复杂状态。你可能听说过,量子比特既为 1 又为 0,这种说法并不准确。真实情况是,如果进行测量,量子比特的状态会坍缩为 0 或 1。在数学上,量子比特未测量的状态可以看作 布洛赫球面🔗 en.wikipedia.org(Bloch sphere) 的几何表示上的一个点。

尽管对习惯使用经典计算机的任何人来说,叠加态是一个全新的概念,但一个量子比特本身并没有什么趣味性。量子计算的第二个概念是“干涉(interference)”。真正的量子计算机本质上是统计性质的。量子算法对干涉图案进行编码,增加了可以测量编码方案的状态的概率。

叠加和干涉的概念虽然新颖,但在物理世界中也有对应的现象。而量子力学中的“纠缠(entanglement)”却没有,但它是实现指数级量子加速的真正关键。借助量子纠缠,对一个微观粒子的测量可以影响后续对其他被纠缠的粒子的测量结果 —— 即使是那些物理上没有关联的粒子。

量子计算能做什么?

今天的量子计算机就其包含的量子比特的数量而言是相当小的,只有几十到几百个。因此,虽然人们不断开发新的算法,但比同级别经典计算机运行得快的硬件还未问世。

但是在很多领域,量子计算机能带来很大好处。例如,它能提供较好的方法来模拟自然界的量子系统,例如分子,其复杂程度超过了经典计算机的建模能力。量子计算也跟线性代数有关,它是机器学习和很多其他现代优化问题的基础。因此,我们有理由认为量子计算也可以很好地适用于此。

在量子算法相对于普通算法的优势方面,Shor 算法🔗 en.wikipedia.org 是经常被提及的例子,它在较早时候就用于分解质因数。它由 MIT 的数学家 Peter Shor 于 1994 年发明,量子计算机目前还不能在较大的问题上运行该算法。但它已经被证明可以在 O(n3) 时间内完成工作,而不像经典算法那样需要指数级的时间。

从使用 Qiskit 开始

你可能在想:“我身边没有量子计算机,但我很想尝试一下。能做到吗?”

我们来了解一下名称为 Qiskit🔗 qiskit.org 的开源项目(采用 Apache 2.0 许可证)。它是一个软件开发包(SDK),用于访问 IBM 量子实验室的量子计算模拟器和物理硬件(免费)。你只需要注册获得一个 API 密钥。

当然,如果要深入研究 Qiskit,需要很多其他方面的知识,线性代数只是其中一部分,这些都远远超出了本文的范围。如果你需要深入学习,网上有很多免费资源,其中也不乏完整的教科书。然而,体验一下也很简单,只需要一些 Python 和 Jupyter notebook 的基础知识即可。

为了增加趣味性,我们全程使用 Qiskit 教程🔗 qiskit.org 的 “Hello, World!” 程序:

首先,安装教程的相关工具和部件:

  1. pip install git+https://github.com/qiskit-community/qiskit-textbook.git#subdirectory=qiskit-textbook-src

下一步,进行软件包的导入:

  1. from qiskit import QuantumCircuit, assemble, Aer
  2. from math import pi, sqrt
  3. from qiskit.visualization import plot_bloch_multivector, plot_histogram

Aer 是本地模拟器。Qiskit 包括四个组件:Aer、基础组件 Terra、用于实际的量子系统上的噪音和错误处理的 Ignis,以及用于算法开发的 Aqua

  1. # Let's do an X-gate on a |0> qubit
  2. qc = QuantumCircuit(1)
  3. qc.x(0)
  4. qc.draw()

虽然底层数学原理还涉及到矩阵乘法,量子计算机中 X 门也可以认为类似于经典计算机中的非门。(事实上,它经常被称为 "非门")。

现在,运行并测量它。结果跟你预期的一样,因为量子比特的初始状态是 |0>,接着反转,然后被测量。(使用 |0> 和 |1> 与经典计算机中的比特区分开来。)

  1. # Let's see the result
  2. svsim = Aer.get_backend('statevector_simulator')
  3. qobj = assemble(qc)
  4. state = svsim.run(qobj).result().get_statevector()
  5. plot_bloch_multivector(state)

布洛赫球体显示了预期的运行结果

结论

在某些方面,你可以把量子计算看作用于经典计算机的一种独特的协处理器,跟 GPU 和 FPGA 一样。不同的是,在可预见的未来,量子计算机可以被用户像网络资源一样访问到。另一个差异是,它们的工作有本质的不同,所以不像很多其他你熟悉的加速器那样。因此,人们对算法开发如此感兴趣,并投入大量资源来研究量子在何时何地的性能最好。了解一下这些东西也无妨。


via: https://opensource.com/article/21/6/qiskit

作者:Gordon Haff 选题:lujun9972 译者:cool-summer-021 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者 :cool-summer-021
🌟🌟
翻译: 10.0 篇
|
贡献: 149 天
2022-09-22
2023-02-17
https://linux.cn/lctt/cool-summer-021
欢迎遵照 CC-BY-SA 协议规定转载,
如需转载,请在文章下留言 “转载:公众号名称”,
我们将为您添加白名单,授权“转载文章时可以修改”。

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
硬核观察 #948 俄罗斯开发者被阻止向“自由及开源软件”贡献FFmpeg 6.0发布;cURL作者公开指责微软;开源软件成为贸易战的重要环节 | 周热点如何在 Linux 中更新 Flatpak 软件包 | Linux 中国世界上只有两个 Linux 发行版:Arch Linux 与其它 | Linux 中国如何在 Linux 中降级 Flatpak 软件包 | Linux 中国没有帝王之争,也没有帝国之争,只有文明之争南方科技大学-深圳国际量子研究院硅基量子计算贺煜课题组招聘成员 | Show My Lab谷歌纠错量子计算机新里程碑,逻辑量子比特原型登上Nature通用量子计算实用化又进一步,俞大鹏团队实现量子纠错领域重大进展,首次超越盈亏平衡点|NatureLive Captions:Linux 上的开源视频字幕应用 | Linux 中国IBM量子计算机即将突破1000量子比特大关两会专访|全国人大代表、中科院量子信息重点实验室副主任郭国平:产业链协同助力量子计算穿越商业化“死亡谷”《开源软件成熟度评估白皮书》玻色量子完成新一轮亿元级融资,开启实用化量子计算新征程|甲子首发美国入境档案--王助和其他中国飞机人材量子计算:后摩尔时代计算能力提升的解决方案路透社:开源软件成为贸易战的重要环节大佬畅聊 | 开源软件的生态建设与风险管理斯大林对毛泽东的猜忌开源软件:存在成功的捷径吗? | Linux 中国国家队战略领投「图灵量子」完成数亿元A轮融资,加速量子计算产业化布局|36氪独家国家队战略领投「图灵量子」完成数亿元A轮融资,加速量子计算产业化布局|早起看早期TUXEDO Stellaris 16(Gen5)是目前所能找到的终极 Linux 笔记本电脑 | Linux 中国重返威尼斯:入住宫殿宾馆背负着整个现代网络,却因“缺钱”放弃开源,core-js 负责人痛诉:“免费开源软件的根基已经崩塌了”指导了上百万程序员,《代码大全》之父和你聊聊软件开发素养|独家探访“编程圣经”背后故事开源软件安全吗? | Linux 中国北京量子院量子工程研究部招聘半导体微纳加工工程师1名(支持半导体量子计算团队)Gurman:苹果正开发包括 MacBook Pro 在内的触摸屏 Mac 电脑巴黎,巴黎(11)路透社:开源软件 成为贸易战的重要环节基于契约的开发:通过明确需求优化软件开发流程开源软件RustDesk被倒卖可以替代微软 Exchange 的 5 个开源软件 | Linux 中国量子计算第二里程碑!谷歌实现量子纠错突破,150多位作者成果登Nature
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。