Подготовка курса Квантовые вычисления и квантовая информация
Подготовка курса Квантовые вычисления и квантовая информация
2026-02-20
·
4 мин. для прочтения
Подготовка курса Квантовые вычисления и квантовая информация.
Содержание
1 Материалы
1.1 Стек технологий
- Используется стек технологий на базе Julia.
| Пакет | Назначение |
|---|---|
| QuantumInformation.jl | Базовые операции: состояния, каналы, энтропия, случайные матрицы |
| QuantumOptics.jl | Моделирование открытых и замкнутых систем, уравнениe Линдблада |
| Yao.jl | Квантовые схемы, алгоритмы, дифференцируемое программирование |
| QuantumClifford.jl | Симуляция клиффордовских схем и квантовая коррекция ошибок |
| QuantumToolbox.jl | Полноценный аналог QuTiP для Julia (уравнения, фок-пространства, GPUs) |
| Bloqade.jl | Симуляция нейтральных атомов (QuEra) и аналоговых квантовых симуляторов |
| Plots.jl / PyPlot.jl | Визуализация |
2 Активности
2.1 Лекции
2.1.1 Лекция. Математический аппарат и основные постулаты
- Гильбертовы пространства, обозначения Дирака.
- Операторы: унитарные и эрмитовы, спектральное разложение.
- Кубит, сфера Блоха. Тензорное произведение, запутанность.
- Демонстрация: Визуализация кубита с использованием
QuantumInformation.jlиPlots.jl.
2.1.2 Лекция. Квантовые схемы и первый алгоритм
- Однокубитные и двухкубитные гейты (Pauli, Hadamard, CNOT).
- Квантовый параллелизм, интерференция, запрет клонирования.
- Алгоритм Дойча–Йожи.
- Демонстрация: Построение схем на
Yao.jl.
2.1.3 Лекция. Алгоритм Гровера (квантовый поиск)
- Постановка задачи поиска.
- Амплитудное усиление, оператор Гровера.
- Квадратичное ускорение.
- Демонстрация: Реализация Гровера на
Yao.jl.
2.1.4 Лекция. Квантовое преобразование Фурье (QFT) и алгоритм Шора
- QFT и его схема.
- Фазовое оценивание (QPE).
- Идея алгоритма Шора: факторизация через поиск периода.
- Демонстрация: QFT на
Yao.jl.
2.1.5 Лекция. Моделирование замкнутых квантовых систем
- Уравнение Шредингера, эволюция.
- Троттеризация.
- Введение в вариционные алгоритмы (VQE).
- Демонстрация: VQE для (H_2) на
QuantumOptics.jl.
2.1.6 Лекция. Открытые системы и декогеренция
- Матрица плотности, смешанные состояния.
- Квантовые каналы (амплитудное/фазовое затухание).
- Уравнение Линдблада. Квантовая томография.
- Демонстрация: Моделирование распада кубита на
QuantumToolbox.jl.
2.1.7 Лекция. Гибридные квантово‑классические алгоритмы
- NISQ-эпоха, гибридный подход.
- VQE и QAOA.
- Квантовое машинное обучение (обзор).
- Демонстрация: QAOA для MaxCut на
Yao.jl+ оптимизация черезOptim.jl.
2.1.8 Лекция. Квантовая информация, криптография и перспективы
- Энтропия фон Неймана, взаимная информация.
- Квантовая криптография (BB84).
- Современное состояние: шум, коррекция ошибок (обзор).
- Демонстрация: Моделирование BB84 на
QuantumInformation.jlи коррекция ошибок наQuantumClifford.jl.
2.2 Лабораторные работы
2.2.1 Лабораторная работа. Знакомство с экосистемой Julia для квантовых вычислений
- Цель: Освоить базовые пакеты и синтаксис.
- Задачи:
- Установить
QuantumInformation.jl,Yao.jl,Plots.jl. - Создать состояние кубита и применить гейты X, H, Z.
- Визуализировать результаты на сфере Блоха.
- Создать состояние Белла через тензорное произведение.
- Установить
- Инструменты:
QuantumInformation.jl,Yao.jl,Plots.jl.
2.2.2 Лабораторная работа. Квантовый параллелизм и алгоритм Дойча–Йожи
- Цель: Реализовать алгоритм на Julia.
- Задачи:
- Построить оракулы для константной и сбалансированной функций.
- Реализовать схему Дойча–Йожи через
Yao.jl. - Проверить результат для n=1 и n=2 кубитов.
- Инструменты:
Yao.jl.
2.2.3 Лабораторная работа. Алгоритм Гровера
- Цель: Реализовать квантовый поиск.
- Задачи:
- Построить оракул для состояния (|101⟩).
- Реализовать оператор диффузии.
- Выполнить алгоритм для 3 кубитов, измерить вероятность.
- Исследовать зависимость вероятности от числа итераций.
- Инструменты:
Yao.jl,Plots.jl.
2.2.4 Лабораторная работа. Квантовое преобразование Фурье
- Цель: Реализовать QFT и фазовое оценивание.
- Задачи:
- Построить схему QFT для 3 кубитов (через вентили Адамара и управляемые фазы).
- Проверить обратное преобразование.
- Реализовать алгоритм фазового оценивания для (U = R_z(φ)).
- Инструменты:
Yao.jl, базовые операции с комплексными числами.
2.2.5 Лабораторная работа. Моделирование динамики замкнутой системы
- Цель: Численное решение уравнения Шредингера.
- Задачи:
- Задать гамильтониан (H = Z ⊗ Z + 0.5 (X ⊗ I)).
- Решить уравнение Шредингера через экспоненту от матрицы.
- Реализовать троттеризованную эволюцию и сравнить с точным решением.
- Визуализировать населенности во времени.
- Инструменты:
QuantumOptics.jl,LinearAlgebra,Plots.jl.
2.2.6 Лабораторная работа. Открытые системы: уравнение Линдблада
- Цель: Моделирование затухания кубита.
- Задачи:
- Создать операторы для амплитудного затухания ((σ_-)).
- Решить уравнение Линдблада для различных скоростей распада.
- Визуализировать затухание населенности и декогеренцию.
- Сравнить с аналитическим решением.
- Julia-инструменты:
QuantumToolbox.jl(аналог QuTiP) .
2.2.7 Лабораторная работа. Вариационный алгоритм VQE
- Цель: Найти основное состояние молекулы водорода.
- Задачи:
- Задать гамильтониан в минимальном базисе (использовать готовые интегралы или упрощенную модель).
- Построить анзац (например, UCCSD или простую схему с вращениями).
- Минимизировать энергию через Optim.jl.
- Сравнить с точной диагонализацией.
- Инструменты:
Yao.jl(для схем),QuantumOptics.jl(для гамильтониана),Optim.jl.
2.2.8 Лабораторная работа. QAOA для MaxCut
- Цель: Решить задачу комбинаторной оптимизации.
- Задачи:
- Построить граф с 4 вершинами.
- Сформировать гамильтониан задачи MaxCut.
- Реализовать QAOA с p=1.
- Оптимизировать параметры (γ, β) и найти приближенное решение.
- Инструменты:
Yao.jl,Graphs.jl,Optim.jl.
2.2.9 Лабораторная работа. Квантовая криптография: BB84
- Цель: Моделирование распределения ключа.
- Задачи:
- Реализовать протокол: Алиса готовит состояния, Боб измеряет.
- Добавить подслушивателя Еву с перехватом.
- Оценить ошибку в ключе при наличии Евы.
- Инструменты:
QuantumInformation.jl, базовые случайные числа.
2.2.10 Лабораторная работа. Квантовая коррекция ошибок
- Цель: Реализовать трёхкубитный код для защиты от битовых ошибок.
- Задачи:
- Реализовать кодирование одного логического кубита в три физических.
- Внести ошибку bit-flip на одном кубите.
- Реализовать синдромное измерение и восстановление.
- Проверить fidelity восстановленного состояния.
- Инструменты:
QuantumClifford.jl(для стабилизаторного формализма) илиYao.jl.

Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы.
Научные интересы относятся к области теоретической физики и математического моделирования.