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

Квантовые симуляции с использованием 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, Квантовые, новости, Симуляции

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

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

галерея

Клод, OpenClaw и новая реальность: агенты искусственного интеллекта уже здесь — и вместе с ними хаос.
Схема структуры звезды: давление и гравитация, внутреннее строение.
Дети изучают глобус в классе, школьный урок географии.
Космическая перчатка держит загадочную жидкость на фоне космоса, загадки и вопросительные знаки.
Старт ракеты в небо с пусковой площадки, клубы дыма и яркое пламя двигателей.
Материнская плата MSI MEG Z790 ACE с поддержкой игрового процессора и дизайном с драконами.
Запуск космической ракеты в небо, огненные струи.
Запуск ракеты с усилителями в космос на фоне голубого неба.
Шмель пьет каплю воды с поверхности.
Image Not Found
Клод, OpenClaw и новая реальность: агенты искусственного интеллекта уже здесь — и вместе с ними хаос.

Клод, OpenClaw и новая реальность: агенты искусственного интеллекта уже здесь — и вместе с ними хаос.

Даттарадж Рао, Персистентные системы Автор создал текст, используя знак Близнецов. Эпоха агентного ИИ уже наступила — хотим мы этого или нет. То, что началось с невинного обмена вопросами и ответами в ChatGPT в 2022 году, превратилось в…

Апр 8, 2026
Схема структуры звезды: давление и гравитация, внутреннее строение.

Всплески гравитационных волн подтвердили разрыв в распределении масс черных дыр. Раньше подтвердить его наличие не удавалось

Раньше подтвердить его наличие не удавалось Астрономы нашли достаточно надежное доказательство существования разрыва в распределении масс черных дыр, который возникает из-за взрывов их звезд-прародителей как парно-нестабильных сверхновых. В пользу наличия разрыва говорят свойства распределения масс вторичных черных дыр…

Апр 8, 2026
Дети изучают глобус в классе, школьный урок географии.

Почему отказ от развития мышления народа — это стратегическое поражение

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

Апр 8, 2026
Материнская плата MSI MEG Z790 ACE с поддержкой игрового процессора и дизайном с драконами.

MSI, как и ASUS, не будет выпускать новые платы для процессоров Intel Core Ultra 200S Plus

Не успели мы изучить слова энтузиаста GGF Events о том, что ASUS якобы не будет выпускать новых материнских плат специально для обновлённых процессоров Intel Arrow Lake Refresh, как в дело вступает ресурс Wccftech, утверждающий, что по той…

Апр 8, 2026

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