量子计算
教程:创建量子随机数生成器 - Azure Quantum | Microsoft Learn
量子计算机是概率计算机
传统计算机和量子计算机之间的根本区别在于,量子计算机中的程序本质上是概率性质的,而传统计算机通常是确定性的。 量子算法包括应用于量子位寄存器的线性运算,用于将状态修改为所有可能的特定叠加。 每个可能的状态都具有关联的概率振幅。 在进行测量时,将获得一个具有一定概率的可能状态。 该情况与传统计算相反,在传统计算中,一个位只能是确定的 0 或 1。
虽然传统计算机的某些程序也是概率性的,但概率性传统程序无法提供可通过量子计算机获得的相同加速。 性能差异其实是由叠加、干涉和牵连所致。
这些特征意味着,有时必须多次运行该算法,以确保输出中出现最高概率的结果。 这种重复操作看似效率低下。 但在许多情况下,相比以传统方式解决任务,多次运行量子算法效率更高。
量子计算中的叠加 - Training | Microsoft Learn
[1804.03719] Quantum Algorithm Implementations for Beginners (arxiv.org)
命令行:jupyter lab
from qiskit import QuantumCircuit qc = QuantumCircuit(2, 2) qc.h(0) qc.cx(0, 1) qc.measure([0, 1], [0, 1]) qc.draw('mpl')
代码使用 Qiskit 库创建一个量子电路,并进行一系列操作。具体解释如下:
-
from qiskit import QuantumCircuit
这一行代码导入 QuantumCircuit 类,以便后续可以使用该类创建量子电路对象。 -
qc = QuantumCircuit(2, 2)
创建一个量子电路对象qc
,其中参数2
表示该电路有两个量子比特(qubits),参数2
表示该电路有两个经典比特(classical bits)。 -
qc.h(0)
这一行代码在量子电路的第一个量子比特上应用了一个Hadamard门(H门),将该量子比特置于等概率的叠加态。 -
qc.cx(0, 1)
这一行代码应用了一个CNOT门(CX门),其中第一个参数0
是控制比特索引,第二个参数1
是目标比特索引。这表示当控制比特为1时,将对目标比特进行翻转。 -
qc.measure([0, 1], [0, 1])
这一行代码在量子电路的第一个和第二个量子比特上进行测量,并将测量结果存储到第一个和第二个经典比特上。 -
qc.draw('mpl')
这一行代码将量子电路绘制出来,以图形的形式展示电路的结构和操作顺序。其中'mpl'
参数使用 Matplotlib 库进行绘制。
通过这段代码,我们创建了一个包含H门、CNOT门和测量操作的量子电路,并将其绘制成图形,以便可视化和分析量子计算任务。
from qiskit.circuit.random import random_circuit circ = random_circuit(2, 2, measure=True) circ.draw(output='mpl')
这段代码使用 Qiskit 库中的 random_circuit
方法生成一个随机量子电路,并将其绘制成图形。具体解释如下:
-
from qiskit.circuit.random import random_circuit
这一行代码导入了random_circuit
方法,以便后续可以使用该方法生成随机量子电路。 -
circ = random_circuit(2, 2, measure=True)
这一行代码调用random_circuit
方法生成一个随机量子电路。它接受三个参数:- 第一个参数
2
表示量子电路中有两个量子比特(qubits)。 - 第二个参数
2
表示量子电路中有两个经典比特(classical bits)。 - 第三个参数
measure=True
表示在电路中包含量子测量操作。
这样生成的量子电路将包含随机的量子门操作和测量操作。
- 第一个参数
-
circ.draw(output='mpl')
这一行代码将生成的量子电路绘制出来。draw
方法用于绘制电路图,output='mpl'
参数指定使用 Matplotlib 库将电路图绘制成图形。
通过这段代码,我们可以生成一个随机的量子电路,并将其绘制成图形,用于可视化和分析量子计算任务。
Open Source Release coming for Microsoft’s Quantum Development Kit - Microsoft Azure Quantum Blog
基于Python的工具,是由美国的量子计算公司Rigetti开发的Pyquil( Pyquil没有Windows版本):
pip install pyquil
Programming Quantum Computers (oreilly-qc.github.io)
声明:部分内容来源于微软官方网站知识