量子那些事儿 关注
手机版

Q Sharp-量子计算导论

  1. 云栖社区>
  2. 量子那些事儿>
  3. 博客>
  4. 正文

Q Sharp-量子计算导论

雪花又一年 2018-05-16 14:14:41 浏览345 评论0

摘要: 介绍 关于量子计算有很多关于微软的话题,微软已经正式宣布了昆腾开发套件和量子计算语言Q#。在本文中,我将介绍Quantum Computing的一些基础知识,并在Visual Studio 2017的本地计算机上设置一个环境,以开始使用Quantum编程。

Q Sharp-量子计算导论

介绍

关于量子计算有很多关于微软的话题,微软已经正式宣布了昆腾开发套件和量子计算语言Q#。在本文中,我将介绍Quantum Computing的一些基础知识,并在Visual Studio 2017的本地计算机上设置一个环境,以开始使用Quantum编程。

什么是量子理论?

量子理论是物理学的一个分支,它处理原子和它们内部较小(亚原子)的粒子的世界。物理定律在原子水平上是不同的,我们在日常生活中可以观察到的古典物理定律在这里不适用。

经典电脑的限制

古典电脑(我们日常生活中使用的机器,包括笔记本电脑,台式电脑,服务器等)让我们的生活变得非常简单快捷。在上个世纪,随着计算机的出现,我们已经取得了很多的成就,世界已经完全改变了。但是古典电脑也有一些限制。

一台经典的计算机使用晶体管来形成逻辑开关,它们允许电流通过(开启)或限制电流(开关关闭)。随着时间的推移,晶体管的尺寸变得非常小,这使得我们可以将数百万个晶体管安装到一个小芯片上,从而产生计算能力增强的小型便携式计算机(例如 - 智能手机),但是我们正在接近制造物理极限晶体管更小。今天,晶体管已经达到了1纳米的大小。在一个原子范围(小于1纳米),电子行为怪异,不遵循通常适用于较大物体的物理原理。在原子尺度上,电子显示量子隧穿效应,也就是说,它有时像波浪一样,通过闭合的逻辑开关,从而使逻辑开关的存在无效。由于我们不能在这么小的尺寸下拥有完美的晶体管开关,所以我们已经达到了我们可以在一个小区域内安装多少个晶体管的最终限制,保持晶体管的大小足以避免量子隧道效应。这又反过来阻碍了我们提高计算机的计算能力。

在计算方面有很多问题成倍增长,而且由于传统计算机的局限性,解决这些问题还需要几年的时间。所以,我们需要寻找更有效的方法来解决这些问题。答案在于量子计算机。

什么是量子计算机?

量子计算机是建立在量子力学原理基础上的机器,它采用了新的方法来处理信息,从而使它们超强大。量子计算机使用Qubits来处理信息。

什么是Qubit?

经典计算机中处理信息的基本单位是一个可以保存二进制值('0'或'1')的位。与量子计算机中的位相似的是Qubit(“量子比特”的缩写)。量子比特具有特殊的属性,可以帮助他们比传统比特更快地解决复杂的问题。其中一个属性是叠加,它表示不像一个经典比特那样保持一个二进制值(“0”或“1”),而是一个比特可以同时保存“0”和“1”的组合。当多个量子比特连贯地相互作用时,与经典甚至最快的非量子体系相比,他们可以在一小部分时间内探索多种选择和处理信息。

Q Sharp-量子计算导论

图: - 表示一个Qubit(图片来源: - 维基百科)

实际上,量子位必须被原子,离子,甚至更小的东西如电子和光子所储存。

什么是叠加原理?

叠加本质上是一个量子系统同时处于多个状态的能力 - 也就是说,某个东西可以同时在“这里”,“在那里”或“上”和“下”。这种行为只能在原子级别观察到。

一个Qubit可以存在于零和一的叠加中,也就是说它可以存储一个零,一个,两个,零和一个,或者在它们之间存储无限数量的值。他们还可以通过与其他Qubit进行交互来创建0和1的复杂叠加。n个 Qubits 可能的叠加总数是2 n。

什么是纠缠?

纠缠是量子粒子之间非常强烈的相关性,事实上,两个或多个量子粒子之间的联系非常紧密,即使相距很远,它们也能够完美地协调一致。这意味着每个粒子的量子态不能独立描述。这些粒子如此固有地连接起来,即使放置在宇宙的两端,它们也可以被瞬间“完美”地“跳舞”。

纠缠的Q比特状态不能彼此独立描述。这意味着如果我们测量一个Qubit,那么我们也得到一些关于如果我们测量另一个Qubit会发生什么的信息。

叠加和纠缠是量子计算的两个基本原则

什么是拓扑qubits?

Qubits听起来很有趣,但是它们非常不稳定,即使系统中有一点点的干扰也会引起整个操作。所以,微软正在努力创造一个更稳定的Qubit,称为拓扑Qubit。与其他Qubit相比,它可以以更稳定的形式存储信息。拓扑Qubit将允许量子计算机以更高的速度扩展,并允许我们建立一个足够大而稳定的量子计算机来解决我们最具挑战性的问题。

量子计算机比普通计算机更好

我们应该牢记的一个重点是量子计算机不是古典计算机的替代品。与传统计算机相比,量子计算机能够以极快的速度解决问题很少。其中一个问题就是大数分解

如果m = p * q,使得p和q是素数,那么给定m的值,找出p和q的值。

另一类问题是传统的计算机无法提供准确的输出,例如在化合物如单氟化钙(CaF)和双原子钠(Na 2)上发现键长。

如何在本地机器上设置Quantum Computing开发环境

先决条件: - 您需要在64位Windows机器上安装Visual Studio 2017。它不适用于Windows或较低版本的Visual Studio的32位安装。

您也可以从本地机器开始从事Quantum计算。微软已经推出了Quantum Development Kit,你可以从这里下载。

一旦你点击“下载”,一个文件“ QsharpVSIX.vsix ”将被下载。您只需要像安装任何其他程序一样安装它,并将开发工具包集成到Visual Studio 2017中。您需要重新启动Visual Studio才能使更改生效。

现在打开VS 2017并导航到文件>>新建>>项目

它会打开一个对话框。从左侧菜单中选择Visual C#,然后从安装的模板中选择“ Q#Application ”。为您的项目命名,然后单击确定。

Q Sharp-量子计算导论

在解决方案资源管理器中,您可以看到如下的文件结构。

Q Sharp-量子计算导论

在这里, Operation.qs是包含Q#代码的文件,Driver.cs是我们常用的 C#代码文件。这是因为Quantum电脑就像一个代码处理器。我们将从C#文件中的main方法调用Q#文件的代码。我们可以在这个解决方案文件中编写和模拟Quantum程序,我将在下一篇文章中介绍。

模拟量子计算会给系统硬件带来很多负担。所以建议使用具有高内存(8 GB或更高)的系统。您还可以使用云中托管的Azure Quantum Simulator,可以用来模拟大量的Qubits。

量子计算机面临的挑战是什么?

目前,我们有量子计算机有能力操纵少于20个Qubits。谷歌,IBM和微软正在努力创建一个大规模的昆腾计算机。IBM甚至还宣布了50个Qubits Quantum计算机的原型。另一个挑战是随着Qubits数量的增加使系统稳定。

量子计算机领域广泛,包括量子物理,超导体,纳米技术等概念。其中每一个领域本身都是一个复杂的领域,正在得到充分发展,所以建立一个遵循这些领域原则的物理系统是一个真正的挑战。

至少需要10年甚至更长时间,直到我们有一台量子计算机足够大和稳定,足以解决我们大部分具有挑战性的问题。

结论

量子计算机的潜力是巨大的,我们可以实现很多被认为几乎不可能与传统计算机。我们可以合成新药,开发新的催化剂,加速人工智能的发展。在本文中,我介绍了量子计算机的一些基础知识。请在评论部分发表您的宝贵意见。


原文发布时间为:2017-12-18
本文作者:程序狼
本文来源:今日头条,如需转载请联系原作者。

【云栖快讯】你想见的Java技术专家都在这了,向大佬提问,有问题必答  详情请点击

网友评论

雪花又一年
文章1321篇 | 关注43
关注
快速、完全托管的TB/PB级数据仓库解决方案,向用户提供了完善的数据导入方案以及多种经典的分... 查看详情
GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应... 查看详情
提供一种性能卓越、稳定、安全、便捷的计算服务,帮助您快速构建处理能力出色的应用,解放计算给服... 查看详情
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效... 查看详情
阿里云总监课正式启航

阿里云总监课正式启航