是否存在从“纯粹的CS背景”开始并朝着“制作新的量子编程语言”发展的学习指南?


12

我来自计算机科学领域,我发现很难决定学习量子计算时应该关注的资源,因为有很多东西可以阅读/观看。我的最终目标是要使一种编程语言充当量子计算机和1972年C制成的人之间的接口。作为一个现实的中间阶段,我想说一下在IBM QISKit上编写程序的意义。

为此,我需要一个示意性的学习指南,以便获得物理学的必要背景以及深入量子计算领域所需的相关领域。这是否已经存在:一份必不可少的概念和掌握能力的有序清单,如果可能的话,还列出了获得它们的足够材料

假设具有高中物理知识。提供学习指南,即从初学者到专家的一种指南。尝试按时间顺序列出视频/书籍资源,以便成为量子计算领域的专家,达到我可以编写自己的量子计算语言的水平(假设已经具备其他CS技能来编写该语言) 。



3
欢迎来到Quantum Computing SE!目前,该问题的标题似乎表明您在问的是广泛而基于观点的问题(这是SE Q&A格式不适合的问题),尽管问题的主体明确表明这实际上是一个资源请求(可以接受)。因此,如果您要编辑问题标题以更具体地了解您想知道的内容,这将非常有帮助。此外,如果您准确地添加了注释中所链接问题的答案,这可能会很有用,因此我们可以提供更好的帮助。谢谢!
Mithrandir24601

1
请特别参阅我们关于资源请求问题的政策。这太广泛了。
heather

1
您是否在思考类似nand2tetris的事物,但量子?还是类似“计算机科学家的量子计算”一书?
James Wootton '18

1
感谢您的修改,我相信这可以满足资源请求的要求,因此我重新打开了。
heather

Answers:


11

我认为没有唯一的黄金资源可以为您提供所有必要的知识。但是我可以建议一个途径(或者用你的话来示意学习指南):

如果您的目标是创建一种新的量子编程语言,那么我想您应该首先从物理学和计算机科学(甚至是数学)方面彻底学习现有的量子编程语言以及量子计算的基本概念。侧!)。

  • Microsoft拥有名为Q#的量子编程语言(这是其Quantum Development Kit的一部分)。完整的文档暨指南位于其网站上:https : //docs.microsoft.com/zh-cn/quantum。如果您来自CS方面,我希望您已经对向量,矩阵和线性代数有一定的了解。如果是这样,您可以直接开始逐条阅读该指南。最初,他们首先对矩阵,向量等进行简要修订,然后对qubit进行简要介绍。至少对于开始编写基本的量子程序就足够了,而对它背后的物理学知之甚少。顺便说一下,如果您的线性代数概念很弱,您可以随时尝试汗学院的讲课也一样。

  • 接下来,您需要至少学习一些量子力学的基础知识。我个人很喜欢Vazirani教授的讲座,这些讲座现在在Youtube上。在大约60个十分钟的讲座中,他介绍了量子力学和量子计算算法的所有必要基础。之后,您将处于良好状态,可以自行选择新算法。

  • 第三步,我建议选择“ Isaac Chuang和Michael Nielsen的量子计算和量子信息 ”,以及“ Mirco A. Mannucci和Noson S. Yanofsky的计算机科学家的量子计算 ”,以涵盖您所关注的重要主题。错过了。

这足以使您有坚实的基础开始编写自己的量子编程语言。您还可以查看其他常见量子计算语言的教程,以了解如何编写量子程序和设计量子编程语言。


6

我建议您反思一下“制造一种新的量子编程语言”的目标是否适合量子计算的发展。这不是最常见的方法,因为在大多数情况下,我们仍处在本质上是机器语言方面的思考阶段。当我们创建算法时,完成此操作的级别类似于在逻辑门方面表达经典算法(例如乘法示例)。QISKit之类的量子SDK本质上​​是创建要发送到量子硬件或模拟器的作业的方式。这包括用于执行仿真,针对运行时间或噪声水平进行优化的工具,等等。它们并不是我们习惯于经典计算的高级语言。

对于量子堆栈这一层上正在发生的情况的介绍,特里·鲁道夫(Terry Rudolph)撰写的《量子论量子论》可能会有所帮助。

对于使用QISKit编写程序的中间目标,我建议使用QISKit教程。它有许多实施短量子程序的实例。在Medium上还有一个QISKit出版物,其中详细介绍了教程中的某些内容。QISKit也有一个游戏化的教程,可以作为完整QISKit教程的热身之用。

完全公开:我为最后一段中提到的所有事情做出了贡献。


3
我不同意这一点。FORTRAN的开发(当时数字计算机还很原始)开始,人们开始使用它代替机器语言,这可能是古典计算机历史上编程语言的最大飞跃。我们为什么要强迫人们用量子语言的机器语言编程?(我确定他们会为提高效率而努力,但不应强迫他们这样做。)
Peter Shor

1
好点!我要说的是,目前硬件在机器语言方面还没有太多思考。但是被证明是错误的,这太好了。
詹姆斯·伍顿

我对答案做了一些修改以淡化负面情绪,并指出目前这不是通常的处理方式(尽管这并不意味着它是错误的)
James Wootton
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.