量子计算实战
上QQ阅读APP看书,第一时间看更新

1995 年,我开始在荷兰代尔夫特理工大学准备我的博士论文。我的工作主要集中于声波方程,需要将理论模型与实验数据结合起来,这当然就需要做些数据处理和可视化方面的工作。大约同一时间,名为Java的编程语言问世了。Java对不同平台的可移植性,使我可以容易地创建具有用户界面的应用程序,并在我研究的各种平台上执行程序,这使得Java对科学工作者很有吸引力。

但是我突然想到,科学界与信息技术领域存在着巨大不同。科学研究人员常常试图找到难题的答案,而信息技术人员则致力于将科学成果实现出来,并处理可伸缩性、故障转移、代码复用,以及面向函数或对象的开发等问题。通常,科学家提出的想法和模型需要信息技术人员实现。科学家不需要担心单元测试,信息技术人员也不需要了解物理中的标准模型,但二者的交接应该是平顺的。

我有幸经常与长期对量子计算感兴趣的Java专家James Weaver共同演讲。鉴于我的科学背景,他曾邀请我共同介绍量子计算。

对主题有基本的了解通常对演讲有所帮助。虽然我研究过声波方程,但量子计算完全不同,因此我强迫自己学习量子计算。学习一个概念的最好方法就是去使用它,为了解量子计算,我用Java创建了一个名为Strange的量子计算模拟器。后来,我逐步增加了Strange的功能。通过实现量子计算程序,我更好地理解了它对开发者的意义。

我注意到科学家与开发者通常面对不同的问题,在量子计算领域也是这样。我认为量子计算的重大挑战之一,是为现有开发者找到使用量子计算的方法,而无须让他们了解背后的物理原理。但反过来说,要想提出使多个领域取得进步的伟大算法,通常需要对现代信息技术开发有很好的理解。

我相信量子计算可以为医疗保健和安全等多个领域带来重大突破。通过本书,我希望向开发人员解释,如何在无须成为量子物理学专家的前提下从量子计算中受益。