为非物理专业的量子计算机编程


43

我来自非物理学领域,对追求量子计算(尤其是编程方法)非常感兴趣。关于如何开始的任何指导将非常有帮助。


经典的程序员无需了解电子的工作原理。这也适用于QED。
tgm1024

顺便说一下,与其他stackexchange网站相比,这里的格式化机制似乎被破坏了。我试图创建一个真正的答案,但不得不放弃,因此求助于一个非常简单的评论。此处的列表在引号内不起作用。我以为所有stackexchange网站都共享相同的UI代码。
tgm1024

@ tgm1024您指的是什么?什么格式在这里不起作用,但在其他站点上可以?引号中的列表对我来说非常合适
glS

Answers:



17

我认为量子程序员不一定需要了解量子物理学和线性代数。这些当然可以帮助拓宽量子程序员的知识,但不应将其视为先决条件。

即使这样,帮助萌芽量子程序员的大多数资源还是从线性代数的假设开始的。那些不是主要针对QISKit(IBM量子设备的SDK)的工具(其中一些是我编写的)。

您可以想到的最简单的程序是“ Hello World”。您如何为量子计算机做到这一点?我的建议是表情符号叠加

在量子编程中超越“ Hello World”之后,您将需要做一些更复杂的事情。人们通常会做一些简单的游戏。因此,让我们使用量子计算机来做到这一点。我造了战舰

您可以在QISKit教程中找到这些以及更多的量子编程示例。我认为这可能是新量子程序员了解可以做什么以及如何做的最佳场所。



5

不必完全了解量子力学即可了解QC背后的理论。我是数学BSc /程序员,我读了有关该主题的文章,并且也参加了edX QC旧课程(不幸的是它不可用,但还有其他课程)。我想可以说我了解QC的要旨,但是我对量子力学几乎一无所知。

关键部分是量子计算主要使用线性代数,该代数基于工程/计算机科学本科课程中通常教授的数学。将此与使用无限维空间(或功能分析,如果需要)的真实量子力学进行对比。

如果您对这些大学数学课程感到满意,可以查看Susskind的《量子力学:理论上的最低要求》 -实际上与“真实”量子力学无关,它主要是对QC有用的东西。顺便说一句,整个“理论最低限度”丛书系列都是针对那些了解数学的人(例如计算机科学家或工程专业),并且想了解更多有关物理学的人。在线上也有很多课程,例如,edX上有新课程,但是我没有做任何课程,因此我不推荐任何一门课程。


4

如果您想超越学习如何在各种量子编程框架(例如Q#pyQuilQISKit)中编写量子电路,我强烈建议您从Los Alamos国家实验室获得这篇名为“初学者的量子算法实现”的最新论文。通过IBM Q Experience,它是了解如何编译和实现各种量子算法及其预言和特定子例程作为量子电路的宝贵资源。我建议您在上述任何编程框架中实施它们,并在学习过程中了解所有细节。


4

量子计算机通过(演变的编程语言表示)所谓的量子电路进行编程。这些是量子门的序列加上它们作用于哪些量子位(qubit)的信息。

关于量子门,您真正需要了解的唯一一件事是它们代表旋转(在更高维度的空间,即所谓的希尔伯特空间)。因此它们是可逆的:Quantum计算机是用可逆逻辑编程的。

|00|01|10|11对于通常使用Dirac表示法的2比特系统来说,它会获得一个复数作为系数或所谓的概率幅度。基本向量是正交的,并且跨越状态的希尔伯特空间,概率振幅可以看作是其中的坐标。这是量子门影响旋转的图片。您会发现,对于单量子位系统,物理学家经常使用不同的图片(布洛赫球),其中量子门也会引起旋转(但有时会旋转更大角度,或者在该图片中完全省略了一个角度)。

量子计算机可以通过首先以可逆逻辑(可能需要辅助位)将其表示来实现所有常规逻辑。经典的NOT门与X量子门相对应,但是与经典情况下唯一的1位可逆门是标识和NOT门不同,量子计算机具有四个对应的门(X,Y,Z根据门的旋转) Bloch球,再加上标识)。此外,您可以使旋转仅旋转这些门旋转的几分之一。一些特别有趣的具有特殊名称和缩写的词(例如Hadamard门或H门)可创建所有状态的相等叠加。

不幸的是,早期的量子软件工程师可能将不得不对他们将要使用的量子计算机硬件有所了解:由于量子门有效旋转的角度是任意且连续的,因此量子计算机中存在一种类似的模拟元素,必然会产生错误(物理量子计算机所具有的错误源远不止于此)。有一种处理方法,量子误差校正可离散化误差并校正最可能的离散化,以实现(理想的)带有边界误差的任意复杂的计算。但是优化可能意味着一台具有量子纠错选择权的量子计算机将比其他量子计算机更适合于特定的量子门甚至算法。


还有其他人想知道,唯一会理解如何轻松编写量子算法的人将是自我发展的量子AI吗?
tgm1024
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.