Световая линия в форме бесконечности на тёмном фоне. Абстрактное искусство и энергия.

Квантовые симуляции с использованием Python

Проведение квантовых экспериментов с помощью Qiskit-Aer

Делиться

aa1a0f03b9ed3267835db09b79b4d301
Фото Юсуфа Онука на Unsplash

Введение

Квантовые вычисления — это область технологий, использующая принципы квантовой механики (например, суперпозицию и запутанность ) для обработки информации принципиально иным способом, чем классические компьютеры. Проще говоря, вместо битов (0 или 1) квантовые компьютеры используют кубиты для решения сложных многомерных задач в химии, материаловедении и оптимизации, потенциально за секунды, а не за годы.

На практике задачи решаются путем построения математических моделей, называемых квантовыми схемами : последовательностей операций и инструкций, которые принимают на вход определенные данные и возвращают выходные (аналогично линейной регрессии и нейронным сетям). В квантовых вычислениях эти операции называются вентилями , которые изменяют данные (кубиты) иным способом. В сущности, схема — это предложение, а вентили — это слова, составляющие это предложение.

Схемы используются для проведения экспериментов. В частности, существует 2 типа квантовых симуляций :

  • Использование обычного компьютера для моделирования квантового компьютера . Это как использовать Python для написания схемы и симулятор для её запуска, в то время как настоящий квантовый компьютер физически реализует эту схему.
  • Использование квантового компьютера для моделирования реальной квантовой системы (например, атомов или электронов). В природе квантовые системы уже существуют, и классическим компьютерам сложно их моделировать, поскольку пространство состояний растет экспоненциально. С другой стороны, квантовые машины могут моделировать эти системы более эффективно, поскольку они естественным образом подчиняются тем же правилам.

В этом уроке я покажу вам, как запустить квантовое моделирование на вашем компьютере. Эта статья является продолжением статьи «Руководство для начинающих по квантовым вычислениям с использованием Python».

Настраивать

Прежде всего, нам необходимо установить Qiskit ( pip install qiskit ), библиотеку с открытым исходным кодом для работы с квантовыми компьютерами, разработанную IBM, которая позволяет моделировать квантовое устройство на локальном компьютере.

Самый простой код, который мы можем написать, — это создание квантовой схемы (среды для квантовых вычислений) всего с одним кубитом и инициализация её значением 0. Для измерения состояния кубита нам нужен вектор состояния , который, по сути, показывает текущую квантовую реальность вашей схемы.

 from qiskit import QuantumCircuit from qiskit.quantum_info import Statevector q = QuantumCircuit(1,0) #circuit with 1 quantum bit and 0 classic bit state = Statevector.from_instruction(q) #measure state state.probabilities() #print prob% 
8764837540ce303698678be3b013cf1f

Это означает, что вероятность того, что кубит равен 0 (первый элемент), составляет 100%, а вероятность того, что кубит равен 1 (второй элемент), составляет 0%. Давайте представим это состояние:

 from qiskit.visualization import plot_bloch_multivector plot_bloch_multivector(state, figsize=(3,3)) 
50e8ebc9dc44a805eeab64c5510a1d82

Схемы

Квантовый вентиль — это единичная операция, изменяющая квантовое состояние. Квантовая схема — это последовательность вентилей, применяемых к кубитам во времени.

Давайте начнём собирать простую схему.

 q = QuantumCircuit(1,0) #circuit with 1 quantum bit and 0 classic bit q.draw(output="mpl", scale=0.7) #show circuit with matplotlib 
437cfb4cf47f803ed3b319c5ef10b62f

У нас есть один кубит, но для его измерения нам нужно добавить классический бит в нашу схему.

 q = QuantumCircuit(1,1) #add 1 classic bit q.draw(output="mpl", scale=0.7) 
0fedc6ba21d9d42e3bccc55571a6225f

Для построения схемы необходимо понимать, чего вы хотите достичь, или, другими словами, нужно знать логические элементы и их функции. Подход аналогичен нейронным сетям: вы просто используете слой за слоем для получения желаемого результата (например, свертки для изображений и эмбеддинги для текста). Наиболее распространенной операцией является вентиль Адамара (H-вентиль), который применяет принцип суперпозиции к кубиту.

 q = QuantumCircuit(1,1) qh(0) #Hadamard gate (Superposition) q.draw(output="mpl", scale=0.7) 
3660f5cf77a6b6b79871f70ecfef446d

На изображении видно, что к кубиту применяется красный H-вентиль, превращающий его из однозначного 0 в смесь 0 и 1 в соотношении 50/50. Добавим измерительный блок, который схлопывает эту суперпозицию в действительное значение (либо 0, либо 1), сохраняя этот результат в классический бит.

 q = QuantumCircuit(1,1) qh(0) q.measure(qubit=0, cbit=0) #measure qubit with classic bit q.draw(output="mpl", scale=0.7) 
a24a12d738f93779daa7bf208a9c43e7

Схема была математически смоделирована моим классическим компьютером так же, как и была написана на бумаге, но она еще не была реализована.

Моделирование

Квантовое моделирование — это моделирование поведения квантовой системы с помощью компьютера. Если вы пишете схему (как я сделал выше), вы просто описываете математическую модель. Для её запуска необходим бэкэнд-движок, который выполняет квантовую схему в режиме моделирования.

Qiskit-Aer ( pip install qiskit-aer ) — это движок, который запускает квантовые схемы в режиме симуляции. Aer позволяет запускать квантовые схемы на вашем компьютере, имитируя различные аспекты реального квантового оборудования (квантовое состояние, измерение, зашумленная система).

Я собираюсь провести эксперимент с ранее написанной схемой (классический бит + кубит в режиме суперпозиции) 1000 раз.

 from qiskit_aer import AerSimulator sim = AerSimulator() result = sim.run(q, shots=1000).result() result.get_counts() 
a34cc7272998d540e66b1ae6f0b515cf

Кубит измерялся 1000 раз, в результате чего 500 раз получалось значение 1, а остальные 500 раз — 0. Это можно визуализировать:

 from qiskit.visualization import plot_histogram plot_histogram(result.get_counts(), figsize=(5,4), color="black", title="1-qubit in Superposition") 
4e1296ebb3586bf9b64f164792b12d1b

Результат идеально ровный, потому что Aer может моделировать идеальные квантовые состояния, что невозможно на реальном оборудовании. В реальном мире квантовая информация чрезвычайно хрупка, и она работает, исходя из предположения, что система идеальна и стабильна, позволяя частицам существовать в нескольких состояниях ( когерентность ). Но как только кубит взаимодействует с чем-либо, например, с теплом или вибрациями, система теряет свою гармонию и квантовые свойства ( декогерентность ).

Поэтому визуализировать кубит в состоянии суперпозиции (одновременно 0 и 1) можно только в симуляции, но никогда в реальном мире. Потому что в момент наблюдения за кубитом возникает шум, и система коллапсирует к одному числу (0 или 1). На практике реальные квантовые компьютеры используются только для измерения результатов, тогда как симуляции применяются для проектирования квантовых моделей.

Для большей реалистичности эксперимента можно добавить шум в симуляцию.

 from qiskit_aer import noise n = noise.NoiseModel() error = noise.depolarizing_error(param=0.10, num_qubits=1) #10% error probability n.add_all_qubit_quantum_error(error=error, instructions=['h']) sim = AerSimulator(noise_model=n) result = sim.run(q, shots=1000).result() plot_histogram(result.get_counts(), figsize=(5,4), color="black", title="1-qubit in Superposition") 
3b1556a6b9bf9f28bfd6d00fdcdc1853

Заключение

Эта статья представляет собой учебное пособие по квантовому моделированию с использованием Python и Qiskit . Мы узнали, в чем разница между реальным аппаратным обеспечением и квантовым экспериментом. Мы также научились проектировать квантовые схемы и запускать моделирование на классической машине.

Полный код для этой статьи: GitHub

Надеюсь, вам понравилось! Не стесняйтесь обращаться ко мне с вопросами и отзывами, или просто чтобы поделиться своими интересными проектами.

👉 Давайте общаться 👈

bcb9cd8eac1e29db0eea21020ded4b95

(Все изображения предоставлены автором, если не указано иное)

Мауро Ди Пьетро Посмотреть все работы Мауро Ди Пьетро

Источник: towardsdatascience.com

✅ Найденные теги: Python, Квантовые, новости, Симуляции

ОСТАВЬТЕ СВОЙ КОММЕНТАРИЙ

Каталог бесплатных опенсорс-решений, которые можно развернуть локально и забыть о подписках

галерея

Мужчина в очках и с короткой стрижкой сидит рядом с окном и наслаждается солнечным светом.
Карта памяти SanDisk Extreme PRO 2TB на столе перед черным кейсом.
Космонавт работает на борту космической станции, окружённый оборудованием и проводами.
Древний океан с причудливыми существами эдиакарского периода на дне.
Капли дождя падают на землю, образуя брызги на мокрой почве.
Капли дождя падают на землю, создавая брызги на мокрой почве.
Вид на Землю из космоса через иллюминатор с силуэтом наблюдающего человека.
Робот-гуманоид Tesla с черной головой и белым туловищем на фоне.
Два персонажа сражаются световыми мечами на темном фоне сцены из фильма.
Image Not Found
Мужчина в очках и с короткой стрижкой сидит рядом с окном и наслаждается солнечным светом.

Как сохранить молодость и увеличить продолжительность жизни?!

Вопрос сохранения молодости и увеличения продолжительности жизни — это, наверное, одна из главных целей современной науки и философии. Сейчас мы подходим к этому не с точки зрения магии, а с точки зрения биохакинга, доказательной медицины и понимания…

Апр 9, 2026
Карта памяти SanDisk Extreme PRO 2TB на столе перед черным кейсом.

Карта памяти SanDisk Extreme Pro UHS-II на 2 Тбайта оценена в $2000

SanDisk незаметно выпустила более ёмкостную версию своей карты памяти Extreme Pro UHS-II, но привлекла она внимание не возможностями, которые мы всё же затронем, а ценником, который выглядит крайне неприятно. Согласно страничке на Amazon, новинка имеет интерфейс SDXC…

Апр 9, 2026
Вид на Землю из космоса через иллюминатор с силуэтом наблюдающего человека.

Сегодня астронавты миссии «Артемида-2» установят новый рекорд расстояния от Земли.

Во время полета космического корабля «Орион» вокруг Луны экипаж «Артемиды II» побьет рекорд, установленный «Аполлоном-13» в 1970 году. Эндрю Лишевски, старший репортер отдела новостей. Публикации этого автора будут добавляться в вашу ежедневную рассылку по электронной почте и…

Апр 9, 2026
Археологическая находка: каменная гробница и скелет в древнем сооружении.

Исследование древнего индивида из Переславля-Залесского указало на его генетически смешанное происхождение

саркофаг V и погребение: А – вид с востока; Б – саркофаг V после снятия погребения и поздней плиты, вид сверху. © ИОГен РАН Археогенетическое исследование погребения из саркофага XIV-XV века в Спасо-Преображенском соборе в Переславле-Залесском показало,…

Апр 9, 2026

Впишите свой почтовый адрес и мы будем присылать вам на почту самые свежие новости в числе самых первых