查看原文
其他

量子程序设计基础 | 量子程序与量子编程

清华计算机学堂 清华计算机学堂 2023-03-02

介绍量子程序和量子编程的概念,并推荐量子程序开发平台。


01

量子程序与量子编程

量子计算的基本单元是量子比特。量子计算机中的测控设备能够可控地制备、操作与测量量子比特的状态。一台n量子比特的量子计算机可以表示的状态空间是整个2n维的希尔伯特空间,每个量子态(波函数)表示该空间中的一个态矢。只要该计算机与环境的耦合可以忽略不计,那么其量子态(波函数)随时间的演化就是幺正(酉)的,且该演化是遵守薛定谔方程的。

图1.2描述了一个量子程序的开发和执行过程。针对实际问题设计量子算法,量子编程将量子算法实现为“经典+量子”的量子程序。经典部分主要包括经典计算机与量子计算机的交互、结果数据的分析和可视化等工作;量子部分的核心是量子算法中量子线路的创建和后端执行。后端(backend)是指真正执行量子线路的设备,可以是模拟器或真实的量子计算机。图1.2中虚框外的部分在经典计算机上实现,虚框内的部分由量子计算机或模拟器实现。

■ 图1.2量子程序的开发和执行

图1.2中虚框内示意的是量子程序对应的量子线路的执行过程,分为三个基本步骤: 初态制备、幺正变换和对末态进行量子测量。在|ψ〉final=U|ψ(0)〉中,|ψ(0)〉为量子线路的初态,执行整个量子线路相当于执行其对应的酉变换U,从而得到末态|ψ〉final。U=U1U2…UN代表量子线路由N个量子门U1,U2,…,UN组成。需要注意的是,UN是最靠近初态的门。

测量结果在本质上是概率性的,不同结果出现的概率是由每个量子态的幅值决定的。一个量子算法通常需要重复测量多次,才能获得量子态统计学上的概率分布,进而获得概率值的最大输出。由于利用了量子叠加性、相干性和纠缠特性,量子计算机的潜在能力远强于目前的经典计算机。


02

典型量子程序开发平台

1. Qiskit 

Qiskit是IBM公司开放源码的量子计算软件开发框架,主要由四大模块组成: ①Terra为Qiskit软件栈的基础模块,负责量子线路的构建、优化、执行和测量等工作,可在量子门和脉冲级别编程; ②Aer是一个高性能模拟器框架; ③Ignis用来表征和消除量子线路和量子系统中的噪声,可以检查并改进量子门的实现; ④Aqua提供了量子化学、优化问题和人工智能等领域的量子算法库,可在其上构建用于近期量子计算机的应用程序。

2. Cirq

Google公司的Cirq开源框架能使开发者基于Python语言为含噪中等规模量子机(Noisy Intermediate-Scale Quantum,NISQ)高效地编写量子线路和量子算法。Cirq支持在模拟器或量子计算机上运行算法。

3. Forest SDK

Rigetti Computing公司的量子汇编指令语言Quil支持量子门和脉冲级的量子线路设计。该公司的开源开发套件Forest SDK主要包含三部分内容: ①PyQuil是一个Python库,为Quil提供了Python语言的开发接口; ②Quilc是一款基于门的量子程序优化编译器,它可将PyQuil、Qiskit、Cirq或QASM生成的量子线路作为输入,并通过配置指令集架构(ISA)将代码翻译到非Rigetti QPU的其他量子处理器上; ③量子虚拟机QVM是Rigetti的开源量子计算模拟器,可以在无噪声或有噪声的条件下模拟Quil程序的执行。

4. Quantum Development Kit

Microsoft公司的量子程序开发套件Quantum Development Kit(QDK)提供了Microsoft高级量子编程语言Q#。开发者可在Windows、macOS或Linux系统的集成用户环境Visual Studio中方便快捷地进行量子程序的开发。

5. QPanda

本源量子开发的量子计算开发工具库QPanda可以快捷地构建、运行和优化量子算法,支持全振幅量子计算模拟、单振幅量子计算模拟和部分振幅量子计算模拟,也可用于模拟含噪声的量子逻辑门计算。QPanda集成了很多主流的量子算法,是量子计算学习及量子算法验证的有力工具。

6. HiQ

华为的HiQ量子计算云平台提供的模拟器HiQ Simulator包括分布式单振幅模拟器、分布式全振幅模拟器和量子纠错线路模拟器。HiQ兼容开源ProjectQ,通过华为自研的CloudIDE,依托华为云提供的计算、网络、存储和安全等资源服务,可为开发者和合作伙伴提供良好的编程体验和生态能力。


实例讲解

量子程序设计基础

精彩回顾


从经典计算到量子计算

本节特色:量子计算的重要性。

量子计算简史

本节特色:量子革命和量子计算发展简史。



下期预告


基于Python的量子程序设计

本节特色:IBM量子程序开发套件的安装。

量子程序编程实例

本节特色:创建并输出Bell态观测量子线路。

量子态的可视化

本节特色:单量子比特布洛赫球的可视化表示。



03

参考书籍



《量子程序设计基础》

ISBN:9787302604853

作者:王震宇

定价:54.50元

内容简介


本书系统介绍量子线路和量子程序设计的基础知识及原理方法,精选的内容与编程实例旨在帮助学生培养量子程序设计、调试和分析等方面的基本能力,从而为将来的学习、研究和应用奠定基础。

全书既注重原理,又注重实践,学生通过编程训练和实践能更准确地理解量子计算的基本概念和基础理论。本书概念讲解清楚,逻辑性强,通俗易懂,并配有大量图表、例题和习题,是初学量子计算和量子程序设计的理想教材,可作为高等学校相关专业本科生和研究生的教材,也可供广大从事量子信息科学研究的科技人员和学习量子程序设计的自学者参考。


扫码优惠购书





    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存