学习日志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)
相关推荐
文城5212 分钟前
Mysql存储过程(学习自用)
数据库·学习·mysql
我们的五年28 分钟前
【C语言学习】:C语言补充:转义字符,<<,>>操作符,IDE
c语言·开发语言·后端·学习
Icoolkj1 小时前
微服务学习-Nacos 注册中心实战
linux·学习·微服务
siy23331 小时前
【c语言日寄】Vs调试——新手向
c语言·开发语言·学习·算法
无涯学徒19981 小时前
R6学习打卡
学习
黄交大彭于晏1 小时前
C语言常用知识结构深入学习
c语言·学习·word
百流3 小时前
scala文件编译相关理解
开发语言·学习·scala
雁于飞5 小时前
c语言贪吃蛇(极简版,基本能玩)
c语言·开发语言·笔记·学习·其他·课程设计·大作业
大丈夫立于天地间14 小时前
ISIS基础知识
网络·网络协议·学习·智能路由器·信息与通信