学习日志33

本源量子-pyQpanda

量子比特门

①单量子比特无角度

bash 复制代码
        不含角度的门,以H门为例,它的统一获得方式为:

h = H(qubits[0])

参数为目标比特,返回值为量子逻辑门。类似的,把H可以换成I(单位矩阵)、X(X门)、Y(Y门)、Z(Z门)、T(T门)、S(S门)等等。

②单量子比特有角度

bash 复制代码
        单门带有一个旋转角的门,如RX门:

rx=RX(qubits[0],np.pi/3) #import numpy as np

        第一个参数为目标比特,第二个参数为旋转角度,返回值为量子逻辑门。类似的还有RY、RZ以及U1。

③多量子比特无角度

bash 复制代码
         两比特量子逻辑门与单比特量子逻辑门相似,需要传入比特。以CNOT门为例:

cnot=CNOT(qubits[0],qubits[1])

        其中第一个参数为控制比特,第二个参数为目标比特。且两个比特不能相同。类似的还有CZ、SWAP、iSWAP以及sqiSWAP。

        同理,对Toffoli门,前两个参数为控制比特,第三个为目标比特:

toffoli = Toffoli(qubits[0], qubits[1], qubits[2])

④多量子比特有角度

c 复制代码
     我们以CR为例:

  
cr = CR(qubits[0], qubits[1], np.pi) #import numpy as np

参考来源:https://blog.csdn.net/m0_69299019/article/details/128691308

QCircuit

量子线路,也称量子逻辑电路是最常用的通用量子计算模型,表示在抽象概念下,对于量子比特进行操作的线路。组成包括了量子比特、以及各种逻辑门,最后常需要量子测量将结果读取出来。当然了最重要的一点我觉得还是时间线。在不同的时间完成相同的事情,效果往往有很大的差别,这一点大家应该都能理解,毕竟先做饭才能后吃饭,要是先吃饭后做饭,我想到了一种可能性:这人在减肥,先喝了一顿西北风,然后做饭当成宠物饲料。

不同于传统电路是用金属线所连接以传递电压讯号或电流讯号,在量子线路中,线路是由时间所连接,亦即量子比特的状态随着时间自然演化,过程中是按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。

bash 复制代码
       它的代码初始化方式为:

circuit = QCircuit()

        大家可以通过如下方式向QCircuit尾部填充节点,pyqpanda重载了 << 运算符作为插入量子线路的方法。例如:

     
        circuit << H(qubits[0]) \
                << CNOT(qubits[0], qubits[1])

2、QProg

QProg是量子编程的一个容器类,是一个量子程序的最高单位。它可以完全代替QCircuit放入各种各样的量子门。初始化一个QProg对象有以下两种:

c 复制代码
      

    prog = QProg()
     
    #或者
    prog = create_empty_qprog()

        而最后对量子线路进行测量操作的代码如下:

prog << circuit << Measure(qubits[0], cbits[0])

        对程序运行多少次得出结果的代码如下:

    #以1000次为例 
    result = qvm.run_with_configuration(prog, cbits, 1000)
    print(result)
相关推荐
西岸行者4 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意4 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码4 天前
嵌入式学习路线
学习
毛小茛4 天前
计算机系统概论——校验码
学习
babe小鑫4 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms4 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下4 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。4 天前
2026.2.25监控学习
学习
im_AMBER4 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J4 天前
从“Hello World“ 开始 C++
c语言·c++·学习