设计用于模拟量子系统的量子算法已经取得了巨大的进步,但尽管开放量子动力学在建模大多数现实物理模型中的系统-环境相互作用方面具有重要意义,但很少有研究开发开放量子动力学的量子算法。在这项工作中,我们提出并演示了一种通用量子算法,用于在量子计算设备上演化开放量子动力学。控制时间演化的 Kraus 算子可以转换为酉矩阵,并由 Sz.-Nagy 定理保证最小膨胀。这允许通过酉量子门演化初始状态,同时使用的资源比传统的 Stinespring 膨胀所需的资源少得多。我们使用 IBM Qiskit 量子模拟器和 IBM Q 5 Tenerife 量子设备在振幅阻尼通道上演示了该算法。所提出的算法不需要特定的动力学模型或量子通道分解,因此可以轻松推广到其他开放量子动力学模型。
由于与量子编程相关的量子知识不直观,量子程序的编码和验证非常困难。因此,迫切需要自动化工具来减轻与低级量子细节相关的繁琐和错误。在本文中,我们发起了量子酉程序的程序合成研究,该程序以递归方式定义一系列用于不同输入大小的酉电路,这些电路在现有的量子编程语言中被广泛使用。具体来说,我们介绍了第一个量子程序合成框架 QSynth,其中包括一种新的归纳量子编程语言、其规范、合理的推理逻辑以及将推理过程编码为 SMT 实例。 QSynth 利用现有的 SMT 求解器,成功合成了 10 个量子幺正程序,包括量子算术程序、量子特征值反演、量子隐形传态和量子傅里叶变换,这些程序可以轻松地转换为主要量子平台上的可执行程序,例如 Q#、IBM Qiskit 和 AWS Braket。
量子密钥分布(QKD)是使用量子系统在两个方之间安全地传达共享加密密钥的想法。与经典的加密方法相反,QKD利用基本量子属性(例如叠加和纠缠)来以保证安全性来编码信息。大多数QKD系统基于在光纤中发送光子,其中光子的极性是用于编码信息的量子属性。用来这样做的不同算法称为QKD协议。本论文旨在使用四个常见的QKD协议来构建一个教育工具,以模拟简单的QKD系统,在此过程中,用户可以在其中改变系统参数并研究其对结果的影响。此外,目的是能够产生足够准确的模拟结果,以提供对真实实验设置的执行方式的第一个近似值。该程序是使用Qiskit库在Python构建的,所有所需的功能均在图形接口中实现。对于实施的协议之一(BB84),将仿真结果与三个QKD实验的实验数据进行了比较,这表明该程序能够产生实际实验设置的有用的首先近似。通过允许模拟更复杂的系统,可以进一步改进程序。
问题5。设计和测试量子电路,该量子电路将量子Q 0的量子传送到Q 2。提示:您已经意识到了该电路的两个关键要素:在钟形的基础上准备铃铛状态和测量。但是,第三个要素存在问题:鲍勃的Qubit Q 2的变速箱取决于铃铛测量结果(书中的表2.3)。据我所知,量子作曲家不允许这种有条件的操作。有两种方法可以规避此问题。一种是使用Qiskit -IBM的开源SDK与其量子计算机合作,可以将其下载为Python软件包,并允许构建复杂且完全定制的量子电路。欢迎您自己探索。另一种方法是仍然使用作曲家,但将Bob Qubit的所需转换作为量子条件操作。请注意,C期和C-Not门可以分别解释为fσz和ˆσX运算符应用于控制量子位在状态时发生的目标量子量的操作员1⟩。根据ψ-→|将Q 0 Q 1从铃铛基础转换为规范基础后,您可以使用此属性。 00⟩; ψ +→| 10⟩; (1)φ-→| 01⟩; φ +→| 11⟩。
本课程深入介绍量子信息科学,面向计算机科学、物理学、电子和计算机工程或相关领域的高年级本科生和研究生。由于内容先进,需要对线性代数、微积分、概率和统计学有扎实的理解。我们首先研究与信息科学相关的量子力学的基本概念,例如量子比特、叠加、纠缠和量子门。学生将学习用数学表示和操纵量子信息,并理解其物理解释。然后,本课程探讨关键的量子算法,包括用于数据库搜索的 Grover 算法和用于整数分解的 Shor 算法,并使用 Qiskit 等工具进行实际实现。此外,我们还探讨了量子纠错方法、量子硬件平台和量子复杂性理论等主题。在课程的后半部分,我们专注于应用。我们研究量子通信协议、量子网络和量子密码学,包括 BB84 等量子密钥分发协议。本课程还探讨了量子时代传统密码学的脆弱性,并介绍了后量子密码算法。最后,我们介绍了量子机器学习,并讨论了当代量子技术及其潜在影响。
量子计算得到了广泛的关注,特别是在噪声中型量子(NISQ)时代到来之后。量子处理器和云服务在全球范围内日益普及。遗憾的是,现有量子处理器上的程序通常是串行执行的,这对处理器来说工作量可能很大。通常,由于排队时间长,人们需要等待数小时甚至更长时间才能在公共量子云上获得单个量子程序的结果。事实上,随着规模的增长,串行执行模式的量子比特利用率将进一步降低,造成量子资源的浪费。本文首次提出并引入了量子程序调度问题(QPSP),以提高量子资源的利用效率。具体而言,提出了一种涉及电路宽度、测量次数和量子程序提交时间的量子程序调度方法,以减少执行延迟。我们对模拟的 Qiskit 噪声模型以及 Xiaohong(来自 QuantumCTek)超导量子处理器进行了广泛的实验。数值结果表明了 QPU 时间和周转时间的有效性。
提示:您已经实现了该电路的两个关键元素:贝尔态的准备和贝尔基中的测量。然而,第三个元素存在问题:Bob 的量子比特 q 2 的变换依赖于贝尔测量的结果(书中表 2.3)。据我所知,Quantum Composer 不允许这样的条件操作。有两种方法可以解决这个问题。一种方法是使用 Qiskit——IBM 用于处理其量子计算机的开源 SDK,它可以作为 Python 包下载,并允许构建复杂且完全定制的量子电路。欢迎您自行探索。另一种方法是仍然使用 Composer,但将 Bob 的量子比特所需的变换实现为量子条件操作。请注意,c 相门和 c 非门可以分别解释为当控制量子比特处于状态 | 时应用于目标量子比特的 ˆ σ z 和 ˆ σ x 算子。 1 ⟩ 。你可以将 q 0 ⊗ q 1 从贝尔基变换为正则基,依据 Ψ − →| 00 ⟩ ; Ψ + →| 10 ⟩ ; (4) Φ − →| 01 ⟩ ; Φ + →| 11 ⟩ ,利用此性质。
量子算法在各种应用中都比经典算法有显著的加速。本文使用块编码方法开发了广泛应用于经典控制工程的卡尔曼滤波器的量子算法。整个计算过程是通过在块编码框架上对汉密尔顿量进行矩阵运算来实现的,包括加法、乘法和逆运算,与以前解决控制问题的量子算法相比,这些运算可以在统一的框架中完成。我们证明,与传统方法相比,量子算法可以指数级加速卡尔曼滤波器的计算。时间复杂度可以从 O ( n 3 ) 降低到 O ( κpoly log( n/ϵ ) log(1 /ϵ ′ )) ,其中 n 表示矩阵维数,κ 表示要求逆矩阵的条件数,ϵ 表示块编码所需的精度,ϵ ′ 表示矩阵求逆所需的精度。本文为实现卡尔曼滤波器提供了全面的量子解决方案,并试图拓宽量子计算应用的范围。最后,我们给出了一个在 Qiskit(一个基于 Python 的开源工具包)中实现的说明性示例作为概念验证。
摘要 — 量子计算的出现提出了如何在开发过程中识别(与安全相关的)编程错误的问题。然而,目前的静态代码分析工具无法对特定于量子计算的信息进行建模。在本文中,我们识别了这些信息,并建议相应地扩展经典代码分析工具。在这些工具中,我们认为代码属性图非常适合这项任务,因为它可以很容易地通过量子计算特定信息进行扩展。为了验证我们的概念,我们实现了一个工具,该工具在图中包括来自量子世界的信息,并展示了它分析用 Qiskit 和 OpenQASM 编写的源代码的能力。我们的工具汇集了来自经典和量子世界的信息,从而实现了跨两个领域的分析。通过将所有相关信息结合到一个详细的分析中,这个强大的工具可以帮助应对未来的量子源代码分析挑战。索引词 — 静态代码分析、软件安全、量子代码属性图、量子源代码分析
摘要 — 任何量子计算应用程序一旦被编码为量子电路,就必须先进行编译,然后才能在量子计算机上执行。与传统编译类似,量子编译是一个顺序过程,具有许多编译步骤和许多可能的优化过程。尽管有相似之处,但量子计算编译器的开发仍处于起步阶段——缺乏对最佳过程顺序、兼容性、适应性和灵活性的相互整合。在这项工作中,我们利用数十年的经典编译器优化,提出了一个强化学习框架来开发优化的量子电路编译流程。通过不同的约束和统一的接口,该框架支持在单个编译流程中结合使用来自不同编译器和优化工具的技术。实验评估表明,所提出的框架(由 IBM 的 Qiskit 和 Quantinuum 的 TKET 中选择的编译过程设置)在 73% 的预期保真度情况下明显优于两个单独的编译器。该框架作为慕尼黑量子工具包 (MQT) 的一部分在 GitHub (https://github. com/cda-tum/MQTPredictor) 上提供。