Подготовка курса Квантовые вычисления и квантовая информация

Подготовка курса Квантовые вычисления и квантовая информация

2026-02-20 · 4 мин. для прочтения
blog science

Подготовка курса Квантовые вычисления и квантовая информация.

Содержание

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 для квантовых вычислений

  • Цель: Освоить базовые пакеты и синтаксис.
  • Задачи:
    1. Установить QuantumInformation.jl, Yao.jl, Plots.jl.
    2. Создать состояние кубита и применить гейты X, H, Z.
    3. Визуализировать результаты на сфере Блоха.
    4. Создать состояние Белла через тензорное произведение.
  • Инструменты: QuantumInformation.jl, Yao.jl, Plots.jl.

2.2.2 Лабораторная работа. Квантовый параллелизм и алгоритм Дойча–Йожи

  • Цель: Реализовать алгоритм на Julia.
  • Задачи:
    1. Построить оракулы для константной и сбалансированной функций.
    2. Реализовать схему Дойча–Йожи через Yao.jl.
    3. Проверить результат для n=1 и n=2 кубитов.
  • Инструменты: Yao.jl.

2.2.3 Лабораторная работа. Алгоритм Гровера

  • Цель: Реализовать квантовый поиск.
  • Задачи:
    1. Построить оракул для состояния (|101⟩).
    2. Реализовать оператор диффузии.
    3. Выполнить алгоритм для 3 кубитов, измерить вероятность.
    4. Исследовать зависимость вероятности от числа итераций.
  • Инструменты: Yao.jl, Plots.jl.

2.2.4 Лабораторная работа. Квантовое преобразование Фурье

  • Цель: Реализовать QFT и фазовое оценивание.
  • Задачи:
    1. Построить схему QFT для 3 кубитов (через вентили Адамара и управляемые фазы).
    2. Проверить обратное преобразование.
    3. Реализовать алгоритм фазового оценивания для (U = R_z(φ)).
  • Инструменты: Yao.jl, базовые операции с комплексными числами.

2.2.5 Лабораторная работа. Моделирование динамики замкнутой системы

  • Цель: Численное решение уравнения Шредингера.
  • Задачи:
    1. Задать гамильтониан (H = Z ⊗ Z + 0.5 (X ⊗ I)).
    2. Решить уравнение Шредингера через экспоненту от матрицы.
    3. Реализовать троттеризованную эволюцию и сравнить с точным решением.
    4. Визуализировать населенности во времени.
  • Инструменты: QuantumOptics.jl, LinearAlgebra, Plots.jl.

2.2.6 Лабораторная работа. Открытые системы: уравнение Линдблада

  • Цель: Моделирование затухания кубита.
  • Задачи:
    1. Создать операторы для амплитудного затухания ((σ_-)).
    2. Решить уравнение Линдблада для различных скоростей распада.
    3. Визуализировать затухание населенности и декогеренцию.
    4. Сравнить с аналитическим решением.
  • Julia-инструменты: QuantumToolbox.jl (аналог QuTiP) .

2.2.7 Лабораторная работа. Вариационный алгоритм VQE

  • Цель: Найти основное состояние молекулы водорода.
  • Задачи:
    1. Задать гамильтониан в минимальном базисе (использовать готовые интегралы или упрощенную модель).
    2. Построить анзац (например, UCCSD или простую схему с вращениями).
    3. Минимизировать энергию через Optim.jl.
    4. Сравнить с точной диагонализацией.
  • Инструменты: Yao.jl (для схем), QuantumOptics.jl (для гамильтониана), Optim.jl.

2.2.8 Лабораторная работа. QAOA для MaxCut

  • Цель: Решить задачу комбинаторной оптимизации.
  • Задачи:
    1. Построить граф с 4 вершинами.
    2. Сформировать гамильтониан задачи MaxCut.
    3. Реализовать QAOA с p=1.
    4. Оптимизировать параметры (γ, β) и найти приближенное решение.
  • Инструменты: Yao.jl, Graphs.jl, Optim.jl.

2.2.9 Лабораторная работа. Квантовая криптография: BB84

  • Цель: Моделирование распределения ключа.
  • Задачи:
    1. Реализовать протокол: Алиса готовит состояния, Боб измеряет.
    2. Добавить подслушивателя Еву с перехватом.
    3. Оценить ошибку в ключе при наличии Евы.
  • Инструменты: QuantumInformation.jl , базовые случайные числа.

2.2.10 Лабораторная работа. Квантовая коррекция ошибок

  • Цель: Реализовать трёхкубитный код для защиты от битовых ошибок.
  • Задачи:
    1. Реализовать кодирование одного логического кубита в три физических.
    2. Внести ошибку bit-flip на одном кубите.
    3. Реализовать синдромное измерение и восстановление.
    4. Проверить fidelity восстановленного состояния.
  • Инструменты: QuantumClifford.jl (для стабилизаторного формализма) или Yao.jl.
Дмитрий Сергеевич Кулябов
Authors
Профессор кафедры теории вероятностей и кибербезопасности
Работаю профессором на кафедре теории вероятностей и кибербезопасности Российского университета дружбы народов им. Патриса Лумумбы. Научные интересы относятся к области теоретической физики и математического моделирования.