Квантовое преобразование Фурье в PythonPython

Программы на Python
Ответить
Anonymous
 Квантовое преобразование Фурье в Python

Сообщение Anonymous »

В моем коде есть ошибка, которую я не знаю, как устранить:

из qiskit import QuantumCircuit
Ошибка импорта: Qiskit установлен в недопустимой среде, в которой есть оба Qiskit >= 1.0 и более раннюю версию.
Я проверил версию qiskit, удалил и установил ее, но ошибка осталась
мой код:


import matplotlib.pyplot as plt
import numpy as np
from qiskit import QuantumCircuit
from qiskit import transpile
from qiskit import assemble
from qiskit.visualization import plot_histogram
from qiskit.circuit.library import QFT
from qiskit_aer import AerSimulator

rate = 5000 # sample rate in Hz
T = 0.1 # duration in seconds

freq = 100 # frequency in Hz

points = int(rate * T) # number of points

tarr = np.linspace(0, T, points, endpoint=False)

signal = np.sin(2 * np.pi * 1.0 * freq * tarr) + 0.50 * np.sin(2 * np.pi * 3.0 * freq * tarr) + 0.25 * np.sin(2 * np.pi * 5.0 * freq * tarr)

# Преобразуем сигнал в квантовую схему
qc = QuantumCircuit(points)
for i in range(points):
qc.ry(np.arcsin(signal), i)

# Применяем квантовое преобразование Фурье
qc.append(QFT(points), range(points))

# Измеряем квантовую схему
qc.measure_all()

# Выполняем квантовую схему
backend = AerSimulator() # Используем AerSimulator из qiskit
compiled_circuit = transpile(qc, backend, basis_gates=['u1', 'u2', 'u3', 'cx'])
qobj = assemble(compiled_circuit, shots=1024)
job = backend.run(qobj, job_id='my_job') # Используем run вместо execute
result = job.result(timeout=60) # Получаем результат
counts = result.get_counts(memory=True)

# Визуализируем результаты
plot_histogram(counts)
plt.title("Результаты квантового преобразования Фурье")
plt.show()

# Визуализируем сигнал
fig, axes = plt.subplots(2, 1, constrained_layout=True)
axes[0].plot(tarr, signal, color="black")
axes[0].set(xlabel="$t$", ylabel="$s(t)$", title="Сигнал")
plt.savefig("signal.pdf")
plt.close("all")



Подробнее здесь: https://stackoverflow.com/questions/792 ... -transform
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»