学习日志33

本源量子-pyQpanda
量子比特门
①单量子比特无角度

        不含角度的门,以H门为例,它的统一获得方式为:

h = H(qubits[0])

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

②单量子比特有角度

        单门带有一个旋转角的门,如RX门:

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

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

③多量子比特无角度

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

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

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

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

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

④多量子比特有角度

     我们以CR为例:

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

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

QCircuit

量子线路,也称量子逻辑电路是最常用的通用量子计算模型,表示在抽象概念下,对于量子比特进行操作的线路。组成包括了量子比特、以及各种逻辑门,最后常需要量子测量将结果读取出来。当然了最重要的一点我觉得还是时间线。在不同的时间完成相同的事情,效果往往有很大的差别,这一点大家应该都能理解,毕竟先做饭才能后吃饭,要是先吃饭后做饭,我想到了一种可能性:这人在减肥,先喝了一顿西北风,然后做饭当成宠物饲料。
不同于传统电路是用金属线所连接以传递电压讯号或电流讯号,在量子线路中,线路是由时间所连接,亦即量子比特的状态随着时间自然演化,过程中是按照哈密顿运算符的指示,一直到遇上逻辑门而被操作。

       它的代码初始化方式为:

circuit = QCircuit()

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

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

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

      

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

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

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

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

    #以1000次为例 
    result = qvm.run_with_configuration(prog, cbits, 1000)
    print(result)
  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值