本文主要是介绍学习日志32,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
- 本源量子计算平台使用
from numpy import pi
from pyqpanda import *
from pyqpanda.Visualization import circuit_drawmachine = CPUQVM()
machine.init_qvm()qlist = machine.qAlloc_many(4)
clist = machine.cAlloc_many(4)measure_prog = QProg()
measure_prog << hadamard_circuit(qlist) \
<< CZ(qlist[1], qlist[2]) \
<< RX(qlist[2], pi / 4) \
<< RX(qlist[1], pi / 4) \
<< CNOT(qlist[0], qlist[2]) \
<< Measure(qlist[0], clist[0])print(measure_prog)
创建量子线路及其可视化
┌─┐ ┌─┐
q_0: |0>─┤H├ ──── ────────────── ───■── ─┤M├ ├─┤ ┌────────────┐ │ └╥┘
q_1: |0>─┤H├ ──■─ ┤RX(0.785398)├ ───┼── ──╫─ ├─┤ ┌─┴┐ ├────────────┤ ┌──┴─┐ ║
q_2: |0>─┤H├ ┤CZ├ ┤RX(0.785398)├ ┤CNOT├ ──╫─ ├─┤ └──┘ └────────────┘ └────┘ ║
q_3: |0>─┤H├ ──── ────────────── ────── ──╫─ └─┘ ║ c : / ══════════════════════════════════╩═0
打印量子态的分布代码
from pyqpanda import *
import numpy as npmachine = CPUQVM()
machine.set_configure(50, 50)
machine.init_qvm()
q = machine.qAlloc_many(4)
c = machine.cAlloc_many(4)
prog = QProg()
prog.insert(X(q[1]))\.insert(T(q[0]))\.insert(RX(q[1], np.pi/2))\.insert(RZ(q[0], np.pi/4))
machine.directly_run(prog)
result = machine.get_qstate()
plot_state_city(result)
machine.finalize()
概率分布代码
from pyqpanda import *machine = CPUQVM()
machine.init_qvm()
qubits = machine.qAlloc_many(3)prog = QProg()
prog << Z(qubits[0])\<< X1(qubits[1])\<< H(qubits[:2])machine.directly_run(prog)
result_dict = machine.prob_run_dict(prog, qubits, -1)
draw_probability_dict(result_dict)
machine.finalize()
这篇关于学习日志32的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!