问问各位佬!我在Jupyter中使用qiskit实现Shor算法时遇见了一个问题!
这是我第一次使用到涉及量子计算的内容。
按照网上各类方法尝试了个遍都没有找到能够解决这个问题的答案T-T
谢谢!
以下这段代码总是报错找不到Aer模块,可是我已经在Anaconda中安装了qiskit的Aer模块
```python
from qiskit import QuantumCircuit, Aer, transpile, assemble
#from qiskit_aer import AerSimulator
from qiskit.visualization import plot_histogram
from math import gcd
from numpy.random import randint
import numpy as np
# 定义一个函数来实现Shor算法
def shor(n):
# 创建一个量子电路
qc = QuantumCircuit(10, 10)
# 初始化量子比特
for i in range(9):
qc.h(i)
# 应用Shor算法的主要步骤
# ...(省略了具体的量子门操作)
# 测量量子比特
qc.measure(range(9), range(9))
# 使用模拟器运行量子电路
simulator = Aer.get_backend('qasm_simulator')
compiled_circuit = transpile(qc, simulator)
qobj = assemble(compiled_circuit, shots=1000)
result = simulator.run(qobj).result()
counts = result.get_counts(qc)
# 分析结果并返回因子
for key, value in counts.items():
if value > 500:
factors = [int(key[i:i+3], 2) for i in range(0, len(key), 3)]
return factors
# 选择一个随机的素数作为输入
input_prime = randint(100, 1000)
while not all(gcd(input_prime, i) == 1 for i in range(2, int(np.sqrt(input_prime)) + 1)):
input_prime = randint(100, 1000)
# 使用Shor算法找到输入素数的因子
factors = shor(input_prime)
print("输入素数:", input_prime)
print("找到的因子:", factors)
#c:\users\86135\.conda\envs\'name'\lib\site-packages (0.14.1)
报错的具体内容如下:
ImportError: cannot import name 'Aer' from 'qiskit' (C:\Users\86135\AppData\Roaming\Python\Python39\site-packages\qiskit\__init__.py)
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/30f3b687282e44ab8c1128d9203acd93.png "#left")
我在Anaconda中装的Aer模块具体信息如下:
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/774729c881df4f44b12fd7940a0d6fc2.png "#left")