范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

量子线性系统算法及实践以Cirq为例

  概述
  求解线性方程组是科学计算中的一个基础问题,也可利用线性方程组构造复杂的算法,如数值计算中的插值与拟合、大数据中的线性回归、主成分分析等。而正是由于线性求解问题在学科中的基础性作用,其在科学、工程、金融、经济应用、计算机科学等领域也应用广泛,如常见的天气预报,需要通过建立并求解包含百万变量的线性方程组实现对大气中类似温度、气压、湿度等的模拟和预测;如销量预测,需要采用线性回归方式的时序预测方法进行预测。
  2009年,Harrow、Hassidim和Lloyd三人基于量子相位估计提出了HHL算法,是线性系统算法的一个典型代表。HHL算法对于大型良态稀疏矩阵A、用量子算法高效制备的量子态b,可以在复杂度O(polylogN)内输出Ax=b的量子态近似解。量子线性系统算法(QLSA)可以用于矩阵求逆,求解特征值、线性回归、插值与拟合等,被广泛应用于量子机器学习等算法中,可以指数级提升求解效率。但HHL算法也有一定的局限性,HHL算法以及系列改进算法的内核都是基于量子傅里叶变换,因需要指数级的量子线路资源难以实现,这也是当前HHL算法在NISQ时代的局限所在。
  NISQ即含噪声中等规模量子器件,NISQ计算机是指那些拥有50-100量子比特、以及高保真量子门的设备。Cirq是谷歌一款用于编写、操作和优化量子线路的Python库,支持在量子计算机及量子模拟器上运行cirq编译的量子线路。Cirq为处理NISQ时代量子计算机提供了有效的抽象。类似的量子编程框架软件还有启科量子的QuTrunk产品。QuTrunk 使用 Python 作为宿主语言,利用 Python 的语法特性 实现针对量子程序的 DSL(领域专用语言)。cirq与QuTrunk两款产品都支持连接量子计算机和量子模拟器使用。本文将主要介绍量子线性系统算法中的典型算法HHL的数学原理及使用cirq、QuTrunk实现算法的代码示例。 1.量子线性算法
  一般线性算法英文表述为The linear-system Algorithm,简称LSP;量子线性算法英文表述为The Quantum linear-system Algorithm。LSA与QLSA分别需要解决的问题如下:
  LSA需要解决的问题是找到一个N维向量x,使得Ax=b。
  QLSA需要解决的问题是找到一个n位量子比特,满足ε和Ax=b。
  一般求解线性方程组的问题时会给定一个系统,再寻找对于矩阵和向量的。其中,假设A是厄米矩阵。将的分别表示为量子态 x〉和 b〉后,重新缩放为单位向量即。因此可以将传统的向量表示转化为量子态表示,对应的 x〉求解方法为。 2.量子线性算法子程序——量子相位估计
  量子相位估计算法(Quantum Phase Estimation Algorithm,简称QPE),是HHL算法中的一个子程序。若假设一个幺正算符U,则该幺正算符作用在其本征态 u〉上会出现一个相位πφ,现在我们假设算符的本征值φ是未知,在已知算符U和本征态情况下,量子相位估计算法可以估计相位φ。以下为使用cirq进行哈密顿量模拟的演示代码: class HamiltonianSimulation(cirq.EigenGate):      def __init__(self, A, t, exponent=1.0):         cirq.EigenGate.__init__(self, exponent=exponent)         self.A = A         self.t = t         ws, vs = np.linalg.eigh(A)         self.eigen_components = []         for w, v in zip(ws, vs.T):             theta = w * t / math.pi             P = np.outer(v, np.conj(v))             self.eigen_components.append((theta, P))      def _num_qubits_(self) -> int:         return 1      def _with_exponent(self, exponent):         return HamiltonianSimulation(self.A, self.t, exponent)      def _eigen_components(self):         return self.eigen_components
  量子相位估计程序如下: 输入 :受控单位;n个量子比特输入态 ψψ ψ,其 ψπλ 。 输出 :ψ λ 。 步骤: 步骤1  使用t个辅助量子比特进行初始化操作,具体执行为,产生均匀叠加态。
  步骤2  根据公式创建量子线路
  步骤3  应用   测量 测量辅助量子比特得到 λ概率 。
  图为量子相位估计线路图 2.1使用cirq定义量子相位估计使用cirq完成量子线性系统算法,其中需要先进行量子相位估计操作。量子相位估计门操作中最后一个量子比特储存特征向量,剩下的量子比特都作为量子位存储的相位。 class PhaseEstimation(cirq.Gate):     """         num_qubits: The number of qubits of the unitary.         unitary: The unitary gate whose phases will be estimated.     """     def __init__(self, num_qubits, unitary):         self._num_qubits = num_qubits         self.U = unitary      def num_qubits(self):         return self._num_qubits      def _decompose_(self, qubits):         qubits = list(qubits)         yield cirq.H.on_each(*qubits[:-1])         yield PhaseKickback(self.num_qubits(), self.U)(*qubits)         yield cirq.qft(*qubits[:-1], without_reverse=True) ** -1 2.2使用QuTrunk进行量子傅里叶变换
  量子傅里叶变换是量子相位估计的一个子程序,使用QuTrunk进行量子傅里叶操作示例如下:
  首先准备QuTrunk做量子傅里叶变换的环境。numpy是一个Python包,是一个由多维数组对象和用于处理数组的例程集合组成的库。numpy拥有线性代数和随机数生成的内置函数,因此通常在进行数组的算数和逻辑运算、进行傅立叶变换以及与线性代数有关的操作时候都需要使用numpy。在示例代码中,QuTrunk通过 qutrunk.circuit 模块实现量子逻辑门操作。在以下量子线路中,对所有量子比特进行H门操作以制备初态量子比特时,只需使用 All(H) * qureg 命令即可。在QuTrunk的量子逻辑门中p 门的主要作用是将单个量子位的和 之间的相位移动给定的角度。如,P(np.pi / 4) * qreg[0] 表示相位移动角度为π。import numpy as np  from qutrunk.circuit import QCircuit from qutrunk.circuit.gates import H, All, P   def run_QFT():     circuit = QCircuit()     qureg = circuit.allocate(3)      All(H) * qureg     circuit.qft([q.index for q in qureg])     print(circuit.get_all_state())      circuit.run()   def run_Full_QFT():     circuit = QCircuit()     qureg = circuit.allocate(3)      All(H) * qureg     circuit.qft()     print(circuit.get_all_state())      circuit.run()   def qft_single_wave():     num_qubits = 4     circuit = QCircuit()     qreg = circuit.allocate(num_qubits)     All(H) * qreg     P(np.pi / 4) * qreg[0]     P(np.pi / 2) * qreg[1]     P(np.pi) | qreg[2]     circuit.qft()     print(circuit.get_all_state())     circuit.run()      return circuit   if __name__ == "__main__":     run_QFT()     run_Full_QFT()     circuit = qft_single_wave()     print(circuit.draw())  3.HHL算法
  用于反演方程系统的HHL算法是一个基础性的、易于理解的子程序,它是许多量子机器学习算法的基础。该算法试图用量子计算机求解Ax=b。HHL算法已在不同的量子计算机上被证明,HHL算法将求解向量的值转化为求解矩阵M的期望值(M满足 )。在量子计算机上求解HHL算法时,可以通常测量的概率得出期望值比如pauli算法X、Y、Z,可以将测量的概率转换为关于这些运算符的期望值。
  HHL算法的核心思想如下:分别表示矩阵A的特征向量 和特征值 λ,其中λ。因此,向量可以写成特征向量的线性组合 ,β 。HHL算法的目标是获取βλ 。以下为HHL算法及其执行的三个步骤(矩阵A可以使用量子相位估计算法得到):
  HHL算法具体程序如下: 输入 :1.输入态 β ;
  2.使用单元执行受控操作的能力  输出 量子态 x〉, x〉满足。 步骤: 步骤1  使用幺正变换进行量子相位估计。该操作将特征值λ映射到以二进制形式输入寄存器以转换系统。βλ
  步骤2  对每个λ执行旋转辅助量子比特为λλ。最后该系统演变为β(λλ)λ
  步骤3  执行与步骤一相反的操作,此时系统表达式为β(λλ)  测量 测量辅助量子比特得到βλ。
  HHL算法线路图 3.1使用cirq定义HHL算法的量子线路
  以下为使用cirq构建HHL量子线路代码示例。示例代码中,cirq实现的是2 2的哈密顿矩阵。HHL算法一般使用三组量子比特,分别为辅助量子比特、用于存储矩阵A的量子比特、用于存储输入量子态和。量子逻辑门操作顺序为首先使用量子相位估计模块提取A的特征值,再对辅助量子比特进行受控旋转,最后进行量子相位估计逆操作。操作的最终结果准确性取决于寄存器大小和量子线路参数。 def hhl_circuit(A, C, t, register_size, *input_prep_gates):      ancilla = cirq.LineQubit(0)     # to store eigenvalues of the matrix     register = [cirq.LineQubit(i + 1) for i in range(register_size)]     # to store input and output vectors     memory = cirq.LineQubit(register_size + 1)      c = cirq.Circuit()     hs = HamiltonianSimulation(A, t)     pe = PhaseEstimation(register_size + 1, hs)     c.append([gate(memory) for gate in input_prep_gates])     c.append(         [             pe(*(register + [memory])),             EigenRotation(register_size + 1, C, t)(*(register + [ancilla])),             pe(*(register + [memory])) ** -1,             cirq.measure(ancilla, key="a"),         ]     )      c.append(         [             cirq.PhasedXPowGate(                 exponent=sympy.Symbol("exponent"), phase_exponent=sympy.Symbol("phase_exponent")             )(memory),             cirq.measure(memory, key="m"),         ]     )      return c 结尾
  HHL算法并非意味着我们已经可以实现HHL算法在真正的量子计算机上运行解决实际问题。目前虽有在量子计算机上实现HHL算法的成功示例,但HHL算法广泛依然在很大程度上取决于有效量子比特数的数目。因此,量子计算机的研发工作还任重道远。如何利用现有的物理设备挖掘量子算法的应用潜力,开发更多高效的量子算法,也成为现阶段量子计算领域的一项重点工作。
  参考来源:
  https://mp.weixin.qq.com/s/Vhv0oUQj0bBkL3cv9Pe0Ow
  https://cloud.tencent.com/developer/article/1069783
  https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.120.050502
  https://github.com/quantumlib/Cirq/blob/master/examples/hhl.py

一入孤美深似海孤独的美食家第一季垂涎欲滴美食之旅一入孤美深似海没看过孤独的美食家的小伙伴,可能还不知道它的魅力吧小编这次打算重新整理一下孤美中的顶级美味一是重新温故,二是安利给新的小伙伴们哦请跟我一起上路吧,这趟美食之旅一定会让第一次吃青海美食昨天朋友提议带我去吃青海凉皮,后面得之青海那边凉皮叫让皮或者酿皮,开车从通州到西单,最少半小时车程。北京很少有青海美食,青海大厦也是在比较窄的胡同里,开车很少会路过。朋友小时候在青正式邀请!罗马有意贝尔,纽卡强挖天选之子,穆里尼奥来意甲据意大利知名媒体Calciomercato爆料称,穆里尼奥已经正式向贝尔发出了邀请函,他希望能和大圣一起在罗马重聚,目前贝尔正在国家队,他还没有回复穆里尼奥的邀请,而土豪纽卡对罗马令人难以置信的美丽!华春莹又点赞贵州华春莹在推文里说,贵州省的梵净山,在汉语中,梵净是佛教天王梵天和净土的意思。那里令人难以置信的美丽。希望我能很快去那里。贵州也非常期待你的到来呀我们在贵州等你!等你哦那么华春莹如此终于来了!CameraRaw14。4独立安装包,支持WINMAC,看完忍不住换兴高采烈的入手了最新款的相机,结果发现PS无法读取新相机的照片?这是因为CameraRaw转档工具版本低了,不支持新相机的照片!必须升级你的ACR滤镜版本才行!无偿领取提示随意评论售价达7299元!小米12Ultra采用5000mAh大电池67W充电?小米12Ultra可能是今年最受消费者期待的安卓旗舰手机之一,该机将延续小米Ultra系列强大的影像能力,而小米厚道的定价策略在该机上依旧会有所体现那么,小米12Ultra都有哪些江苏首富陈建华一年狂赚6953亿,每天坐直升机上下班文浮渔说娱编辑浮渔说娱2019年,陈建华名下产业总营收达到6953亿,反超刘强东,一跃成为江苏新首富。然而谁能想到,在30年前的时候,陈建华还是一个被迫辍学,在工地卖苦力维生的小小库里被冻结!嘴哥挺身而出砍2613拿到胜利,FMVP悬念或强行重启球队头号核心库里被绿军特别照顾下三分球9投0中不断打铁,所有的勇士球迷都捏了一把汗,天王山一战谁能站出来得分呢?维金斯果断砸烂手中的枸杞杯,义无反顾地接下了库里的开火权,用极其出色OPPOReno9进步很大,16G256G仅2999,流畅度有保证随着人们对全面屏方案要求增加,按照爆料称下半年或者明年发布的新机很多都会用上屏下摄像头,目的在于把屏占比做到最好,让手机的颜值更高,游戏体验视频体验观感更舒服。在下半年要发布的新机六月里,适合去看海岁逢六月,万物将惜作者南风图过去与失去六月里,适合去看海。借着夏天的名义,去看大理的海,去看厦门的海,去看辽阔湛蓝的海,浪漫的海,夏天的海。六月,没有燥热的太阳,没有连日的阴雨天气正式确定!北京首钢弃将投奔李楠,加盟江苏队看一次,少一次,珍惜当下!北京男篮前锋常林,晒出首钢篮球中心的照片,暗示自己离队。常林合同到期,北京首钢俱乐部已经通知常林不会续约他,不过常林目前依然还和北京队在一起训练保持状态,
爱奇艺狂飙不起限制用户权益屡陷争议,如何拯救会员服务今年剧集春节档最大爆款狂飙收官之际,本该风头无两的爱奇艺再次因用户维权被推至风口浪尖。2月2日,一位爱奇艺年费会员称其同时使用3台设备登陆导致账号被封,想解封需要充值更贵的会员。对内卷挣扎是心理资本贬值耗尽之后最后的尊严最近,美国的裁员潮是引起了各方面的关注,那尤其是美国的科技公司,还有金融行业,整个裁员规模力度非常大,我们先来看一组数据,那自从2023年开年一月份以来,亚马逊就宣布裁员1。8万人被特斯拉打压的抬不起头?1月份造车新势力集体销量滑坡进入2月份,不少造车新势力已经纷纷公布了1月份最新的销量数据。整体来看,各大品牌的成绩并不理想,甚至有不少造车新势力出现销量环比腰斩的局面。要知道,在刚刚过去的2022年,不少造车消失于互联网时代的100件事在互联网时代下,你是否思考过自己失去了什么?消失于互联网时代的100件事美帕梅拉。保罗中译出版社老残说雨。看到这本书的书名,我就在思考,在当今的互联网时代背景下,在我从刚接触互联网TikTok再受打击,美国一名民主党参议员呼吁封禁该应用一名知名民主党人士加入了共和党人士寻求牵制TikTok的行动,科罗拉多州的参议员MichaelBennet呼吁苹果公司(AppleInc。,AAPL)和谷歌(Google)在各自的全国快递量前十城一半在广东!这个粤东小城业务量跃居全国第四文制图羊城晚报全媒体记者杭莹实习生卢佳圳2022年全年的快递业务数据日前公布,广东又一次亮了。2022年,广东快递业务总量约为301。36亿件,快递业务收入约为2510。3亿元,两传统车企1月新能源车销量五菱卖了4477辆,奇瑞跌到只剩零头没有任何意外,在新能源汽车国家补贴退坡后,1月份新能源乘用车市场哀声一片,根据乘联会预估,新年的第一个月份厂商批发量为41万辆,环比去年12月份大幅下滑约45。不止是新势力造车品牌美持续升级芯片禁令,外媒相当于在自残芯片规则不断修改,但是没有任何一个受益者。因为芯片规则的作用是相互的,美并没有意识到,自己在持续升级芯片禁令的同时,越来越多的美企被无端牵涉到其中。过去美企靠芯片销售赚取巨大的收益河南淮滨产业开启加速跑高新技术迸发新势能正月初八,河南省信阳市淮滨县先进制造业开发区内200多家企业已经全部复工复产,迅速开启工作模式,他们纷纷开足马力抓订单拓销路忙生产,车间内一派繁忙景象。在位于该县中西部纺织交易中心dido跟华为什么关系?didoG28S心电血糖智能手表健康监测更精准亚健康是当今时代的一大问题。随着生活质量的不断追求,我们的压力也不断提高,与此同时我们的身体素质也在不断下降。按照我们的初心,追求高质量的生活,就是让生活过得更好,但是因为我们的生SpringBoot后端开发第三部分Linux操作系统常用命令(3)创作不易,请帮忙转发点赞和评论!四Linux常用命令对于Linux系统来说,中央处理器内存磁盘驱动器键盘鼠标用户等都是文件,而Linux系统管理的命令是它正常运行的核心,与之DOS