Curtain 2019-05-30
【新智元导读】微软和谷歌联合推出了一门在线互动课程《量子计算机编程》,课程面向初学者,介绍量子计算编程的基本概念,并教授如何利用微软的Q#语言编写简单的量子算法和代码。课程在网页浏览器中进行,无需开发环境。
对于一般人来讲,“量子计算机”的概念可能已经让人生畏了,更不用说用量子计算机编程了,但微软认为自己能够为更多的人了解量子计算提供更大的帮助。近日,微软与谷歌母公司旗下X公司的Brilliant.org合作,联合推出了一门关于量子计算在线公开课——《量子计算机编程》。
本课程从基本概念开始,首先介绍微软的Q#语言,教授如何编写“简单”的量子代码,然后再进入真正复杂的场景,讨论更复杂的问题。整个课程都可以通过网页进行量子算法的模拟(包括量子电路问题),无需开发环境。课程还提供了一个模拟器,可以验证学习者的模拟和编程是否正确。
本课程学时不多,一共大约16到24小时。如果学习者觉得学着吃力,也没必要非要全部学完整个课程。课程共分7章,Brilliant网站目前正限时免费提供前两章的课程内容。
如果你对量子计算的概念很感兴趣,或者想要确定自己是否为即将到来的量子计算浪潮做好准备,那么尝试这个上一下这门课程总没有什么坏处。
本课程主要目的是从头开始利用浏览器模拟的量子计算机来构建量子算法。
从现在课程网站已公布的课程信息来看,本课程共分为9部分,目前已公布7部分的概览内容和结构,具体内容如下:
先修课程知识:线性代数和计算机科学基础。这是进入量子计算机编程领域的必备知识。
第一章:概论,追溯量子加速的起源,然后熟悉量子比特及其精妙的结构。具体内容包括:量子计算的本质、电路计算、量子比特、黑盒谜题。
第二章:信息,利用门操纵量子态,构建通用量子计算机。内容包括信息与比特、量子态与量子门、超位置、布洛赫球面、纠缠等内容
第三章:电路,集成量子电路用于加密、超态信息存储和量子通信
本章主要包括纠缠电路、量子加密、量子通信、量子态传输等内容。
第四章:基础算法,利用量子电路解决经典问题,探索实现量子加速的条件。
问题复杂度、量子并行等
第五章:Near-Term算法,使用量子操作解决优化问题,模拟真实系统。
利用量子语言编码计算优化问题,利用微软的Q#语言对旋转系统进行编程,控制nt量子计算机。
第六章:更多进阶算法,构建量子电路,解决搜索和分解质因数等问题(暂未开放)
第七章:物理量子比特,学习如何利用光,超导体和拓扑编织来构建量子比特(暂未开放)。
本课程前两章内容免费开放学习,3-7章为付费内容。每章节各部分内容分概念介绍、模型原理概述和随堂测验,并提供测试答案和解释,可随时查看。
下面以第一章中“计算的本质”为例:课程首先介绍了量子计算的起源,将经典的“概率球”实验以量子方式重现。然后引入量子间的干涉事件,来计算新的“量子概率球”实验的结果,在讲解中给出测试题,如果不会做可以随时查看答案和解释。
以此模型为基础,对传统算法和量子算法的性质进行对比,指出某些难以用经典算法解决的问题。将这一思路引入物理学研究,
比如黑洞研究中的“边界接触”问题,需要对不规则动态接触表面进行实时计算。
再比如对肥皂泡在其内部弹簧作用下的表面张力问题的计算,即使使用先进的传统计算机也会耗时数秒。
本节最后指出,量子计算从实际角度上看根本不进行计算,而只是在物理定律下的自然表现。量子计算概念的扩展可以给计算领域带来革命性的改变,我们可以在等效量子系统中对越来越多的计算问题进行重建。
更多内容请见课程网站:
https://brilliant.org/courses/quantum-computing/