“众所周知, 软件是计算机的‘灵魂’。一旦量子计算机研制成功, 量子软件的开发将变成真正发挥量子计算机作用的关键。”中科院软件所学术副所长应明生表示。
近日,中国科学院软件研究所及合作团队正式发布了国内首个量子程序设计平台——isQ,为量子程序的设计给出“指南”,为程序批量验证提供平台。
量子计算需要一种适宜的新语境,经典编程语境不再适宜。由于量子系统与经典世界相比有许多完全不同的特征,如量子信息的不可克隆性、量子纠缠的非局域作用等。经典的软件理论、方法和技术在很大程度上不能直接适用于量子软件。
微软的一个专利是通过模拟器将经典程序调试的方法“嫁接”到微型量子程序的调试,其优点是能直接利用已有的手段、方法,缺点是只能针对规模较小的量子程序。
基于对量子语言的充分理解,isQ平台包含的编译器能首先将高级语言编写的量子程序转化为指令集语言,然后交由后续工具进一步处理。平台将帮助程序开发者方便地编写比较符合程序员思维的高级语言程序,并准确地转换为量子计算机能理解的指令集语言。相关研究人员表示,平台未来可依据不同的硬件,转换为不同的指令集,实现对多种量子计算机的兼容。
量子计算语言所下达的指令是否准确,取决于人类与量子世界的“沟通”程度。
程序的纠错与正确性验证,是量子计算的重要组成部分。目前量子程序规模还比较小,还可以通过人工的方式去完成,比如说写个两三百行、上千行的代码,人工一行一行去检查错误。但如果代码量达到几万行甚至十几万行,人工验证就失效了。
由于量子程序与传统计算机程序相比具有很大的不同, 特别是由于量子叠加和纠缠的存在, 量子程序的验证往往非常困难。
isQ中包含的定理证明器,是世界上首个能够对大型量子程序是否正确进行验证的工具。
“它的实现基于团队提出的量子霍尔逻辑。” 中科院软件所量子软件研究团队副研究员应圣钢说,该工具是自主知识产权的成果,可在经典计算机上克服计算时间与存储空间的限制,为较大规模量子程序的设计提供重要帮助。
具体地说,是通过参数化的方式实现逻辑层面的验证,而不需要真正地在系统中进行数值运算。因此当量子比特数超过目前传统计算机的模拟运算极限时,这一方法也能够进行程序的验证。利用定理证明器,一台普通的笔记本电脑也能进行大型量子程序的正确性验证,这是传统超级计算机通过模拟器运算无法完成的。