前言
量子计算机不再是理论上可行的设备。
本书作者认为,一项新技术的最佳用途不一定是由其发明者发现的,而是由领域专家在把它作为新工具用在工作中时发现的。基于这个思路,我们编写了本书,它是一本献给程序员的量子计算技术实用指南。在书中,你将熟悉图 P-1 所示的符号和操作,并学习如何将它们应用到你所关心的问题上。
图 P-1:量子程序看起来有点像乐谱
本书结构
要熟悉新的编程范式,一种可靠的方法是学习一组概念原语。比方说,任何学习图形处理单元(graphics processing unit,GPU)编程的人都应该首先掌握并行概念,而不是去了解语法或硬件细节。
本书的核心内容是帮助你理解量子原语——知道如何用量子处理单元(quantum processing unit,QPU)构建可用于解决问题的工具箱。为了帮助你理解量子原语,本书首先介绍量子比特的基本概念(你也可以称之为游戏规则),之后概述一组 QPU 原语,并展示如何将它们作为构建块应用到有用的 QPU 应用程序中。
本书分为四大部分。我们建议你先通过第一部分获得一些实际经验,然后再涉足后面的高级话题。
第一部分 QPU 编程
第一部分介绍 QPU 编程的核心概念,如量子比特、基本指令,以及如何利用量子叠加态甚至量子隐形传态。利用本书提供的示例代码,可以轻松使用模拟器或实际的 QPU 运行程序。
第二部分 QPU 原语
第二部分介绍更高层次上的基本算法和技术细节,内容包括振幅放大、量子傅里叶变换、相位估计。你可以把它们当作在构建应用程序时调用的“库函数”。要成为熟练的 QPU 程序员,了解它们的工作方式是必经之路。有一个活跃的研究社区正致力于开发新的 QPU 原语,所以它的未来可期。
第三部分 QPU 应用程序
QPU 应用程序组合使用第二部分介绍的原语来执行有用的真实任务。QPU 应用程序的发展速度与 QPU 本身一样快。第三部分给出一些现有的应用程序示例。
第四部分 展望
第四部分简要介绍一些之前受限于篇幅还没有讨论的主题。
我们希望你在读完本书后理解量子应用程序能做什么、它们为什么这么强大,以及如何判断哪些问题是它们能解决的。
排版约定
本书使用下列排版约定。
黑体
表示新术语或重点强调的内容。
等宽字体(constant width)
表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。
加粗等宽字体(constant width bold)
表示应该由用户输入的命令或其他文本。
斜体等宽字体(constant width italic)
表示应该由用户输入的值或根据上下文确定的值替换的文本。
该图标表示提示或建议。
该图标表示一般性注记。
该图标表示警告或警示。
使用代码示例
辅助材料(代码示例、练习等)可以从 https://oreilly-qc.github.io 下载 1。
1也可以从图灵社区本书主页下载。——编者注
本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无须联系我们获得许可。比如,用本书的几个代码片段写一个程序就无须获得许可,销售或分发 O'Reilly 图书的示例光盘则需要获得许可;引用本书中的示例代码回答问题无须获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。
我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和 ISBN,比如“Programming Quantum Computers by Eric R. Johnston, Nicholas Harrigan, and Mercedes Gimeno-Segovia (O'Reilly). Copyright 2019 Eric R. Johnston, Nicholas Harrigan, and Mercedes Gimeno-Segovia, 978-1-492-03968-6”。
如果你认为自己对代码示例的用法超出了上述许可的范围,欢迎你通过 permissions@oreilly.com 与我们联系。
O'Reilly在线学习平台(O'Reilly Online Learning)
40 多年来,O'Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
我们拥有独一无二的庞大网络,该网络由专家和革新者组成,他们通过图书、文章、会议和我们的在线学习平台分享知识和经验。O'Reilly 在线学习平台让你能够按需访问现场培训课程、深入的学习路径、交互式编程环境,以及 O'Reilly 和 200 多家其他出版商提供的大量文本资源和视频资源。更多信息,请访问 https://oreilly.com。
联系我们
请把对本书的评价和问题发给出版社。美国:
O'Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街 2 号成铭大厦 C 座 807 室(100035)
奥莱利技术咨询(北京)有限公司
O'Reilly 的每一本书都有专属网页,你可以在那儿找到书的相关信息,包括勘误表 2、示例代码以及其他信息。本书的网页地址是 http://shop.oreilly.com/product/0636920167433.do。
2本书中文版的勘误请到图灵社区本书主页查看和提交。——编者注
对于本书的评论和技术性问题,请发送电子邮件到 bookquestions@oreilly.com。
要了解 O'Reilly 的更多图书、培训课程、会议和新闻,请访问以下网站:http://www.oreilly.com
我们在 Facebook 的地址如下:http://facebook.com/oreilly
请关注我们的 Twitter 动态:http://twitter.com/oreillymedia
我们的 YouTube 视频地址如下:http://www.youtube.com/oreillymedia
致谢
如果没有一支对量子计算充满热情的天才团队给予支持,本书是不可能面世的。我们要感谢 Michele、Mike、Kim、Rebecca、Chris 和 O'Reilly 的技术团队,感谢他们的支持和鼓励。如果本书有错误和疏漏,责任都在本书作者。我们诚挚地感谢本书的技术审校人,他们的宝贵意见使我们受益匪浅。他们是 Konrad Kieling、Christian Sommeregger、Mingsheng Ying(应明生)、Rich Johnston、James Weaver、Mike Shapiro、Wyatt Berlinic、Isaac Kim。
EJ 想感谢他的女神 Sue。在他们相遇的那一周,量子计算对他才有了意义。EJ 还要感谢他在布里斯托大学的朋友,他们总是鼓励 EJ 不要循规蹈矩。
Nic 感谢 Derek Harrigan 第一个教会他二进制,还有 Harrigan 家族的其他人给他的爱和支持。感谢 Shannon Burns 接受他的求婚,成为 Harrigan 家族的准成员。
Mercedes 感谢 José María Gimeno Blay 在很早以前激发了她对计算机的兴趣,还要感谢 Mehdi Ahmadi 一直以来给予的支持和灵感。
尽管有些陈词滥调,但我们最想感谢作为读者的你。感谢你对学习新知识的冒险精神,感谢你捧起本书。
更多信息
扫描下方二维码,即可获取电子书相关信息及读者群通道入口。