Python量子模拟器

目前IBM推出的qiskit是非常棒的Python量子模拟器,直接使用pip install qiskit命令即可完成安装, 具体量子傅氏变换的代码及注释整理如下:

Python环境下安装

pip install qiskit

具体代码

# coding=utf-8

import math
from qiskit import QuantumRegister, ClassicalRegister, QuantumCircuit
# 忽略告警
import warnings  
warnings.filterwarnings('ignore')

# 定义量子傅里叶变换函数qft
def qft(circ, q, n):
    """n-qubit QFT on q in circ."""
    for j in range(n):
        for k in range(j):
            # 套用傅里叶就换
            circ.cu1(math.pi/float(2**(j-k)), q[j], q[k])
        circ.h(q[j])

# 量子比特数量
n = 3  
q = QuantumRegister(n)
c = ClassicalRegister(n)

# 定义量子电路,后面可以可视化
qft_n = QuantumCircuit(q, c)
qft(qft_n, q, n)
for i in range(n):
    qft_n.measure(q[i], c[i])
print(qft_n.qasm())

# 可视化
from qiskit.tools.visualization import circuit_drawer

# 可视化
circuit_drawer(qft_n,filename='./qft_circuit')

结果展示

         ┌───┐                          ┌─┐           
q0_0: |0>┤ H ├─■───────────■────────────┤M├───────────
         └───┘ │pi/2 ┌───┐ │            └╥┘     ┌─┐   
q0_1: |0>──────■─────┤ H ├─┼──────■──────╫──────┤M├───
                     └───┘ │pi/4  │pi/2  ║ ┌───┐└╥┘┌─┐
q0_2: |0>──────────────────■──────■──────╫─┤ H ├─╫─┤M├
                                         ║ └───┘ ║ └╥┘
 c0_0: 0 ════════════════════════════════╩═══════╬══╬═
                                                 ║  ║ 
 c0_1: 0 ════════════════════════════════════════╩══╬═
                                                    ║ 
 c0_2: 0 ═══════════════════════════════════════════╩═
                                                      

完毕!

发布了131 篇原创文章 · 获赞 211 · 访问量 27万+

猜你喜欢

转载自blog.csdn.net/qq_26870933/article/details/102813717