# Квантовый курс Майкла: почему аналогии о кубитах мешают пониманию

Источник: https://www.youtube.com/watch?v=tsbCSkvHhMo
Канал: freeCodeCamp.org
Опубликовано: 15.05.2024

---

Майкл из проекта Quantum Soar представил на платформе freeCodeCamp.org курс по квантовым вычислениям. Он утверждает: понимание технологии невозможно через поверхностные аналогии вроде «бит, который одновременно равен 0 и 1» [0:37]. Материал фокусируется на математическом фундаменте и механике работы алгоритмов без упрощений [1:03].

## 🧮 Математический фундамент: комплексные числа и матрицы
[[JUMP:0:02:03]]

Для описания квантовых состояний Майкл использует комплексные числа вида $a + i b$, где $i$ — это квадратный корень из $-1$ [2:33]. В квантовых вычислениях такие числа чаще представляются в экспоненциальной форме $r e^{i \theta}$ [6:20]. Это позволяет описывать вращение состояния вокруг круга, что критически важно для моделирования квантовых систем [6:46].

Операции над кубитами выполняются с помощью матриц. Майкл выделяет два ключевых типа матриц:

*   **Унитарные матрицы:** при их воздействии длина вектора состояния остается неизменной, он только вращается или отражается [13:20].
*   **Эрмитовы матрицы:** их комплексно-сопряженное транспонирование (обозначаемое знаком «даггер» $\dagger$) равно исходной матрице [13:44].

Трансформация вектора происходит через матричное умножение [10:25]. Если при воздействии матрицы вектор сохраняет направление, но меняет длину, его называют собственным вектором, а коэффициент растяжения — собственным числом [14:09].

## ⚛️ Квантовый бит и нотация Поля Дирака
[[JUMP:0:14:57]]

В отличие от классического бита, кубит представляется как вектор-столбец с двумя элементами [16:35]. Майкл использует нотацию, которую разработал Поль Дирак: квантовые состояния записываются в угловых скобках, называемых «кет» ($|0\rangle$ и $|1\rangle$) [15:55]. 

Математически кубиты описываются следующими правилами:

1.  Состояние $|0\rangle$ соответствует вектору $[1, 0]$, а состояние $|1\rangle$ — вектору $[0, 1]$ [15:41].
2.  Суперпозиция — это линейная комбинация этих состояний [20:47].
3.  Вероятность измерения конкретного состояния равна квадрату модуля его амплитуды [18:33].
4.  Сумма вероятностей всех возможных исходов всегда равна единице [19:28].

После измерения система «коллапсирует»: она переходит в то состояние, которое было измерено [17:40]. Если до измерения кубит был в суперпозиции, то после он навсегда остается в состоянии $0$ или $1$ [19:41].

## 🌐 Сфера Феликса Блоха и квантовые вентили
[[JUMP:0:21:28]]

Для визуализации состояния кубита используется концепция, которую предложил Феликс Блох. На сфере Блоха северный полюс соответствует состоянию $|0\rangle$, а южный — $|1\rangle$ [21:31]. Вращение по поверхности сферы называется фазой [22:14]. Майкл уточняет: глобальная фаза физически неразличима, но относительная фаза между состояниями $|0\rangle$ и $|1\rangle$ определяет результат вычислений [30:16].

Управление кубитами осуществляется через квантовые вентили (гейты):

*   **Вентили X, Y, Z:** вращают состояние на 180 градусов вокруг соответствующих осей сферы [23:21].
*   **Вентиль Жака Адамара:** переводит кубит из базового состояния в суперпозицию с равными вероятностями исхода [32:54].
*   **Вентили S и T:** добавляют фазовый сдвиг на 90 и 45 градусов соответственно [34:10].

## 🔗 Квантовая запутанность и фазовая отдача
[[JUMP:0:35:15]]

При работе с несколькими кубитами их общее состояние описывается через тензорное произведение индивидуальных векторов [35:20]. Если система из двух кубитов не может быть разделена на два независимых состояния, она называется запутанной [44:32].

Джон Стюарт Белл описал четыре максимально запутанных состояния, известных как состояния Белла [45:28]. В таких системах измерение одного кубита мгновенно определяет состояние второго, даже если они разнесены в пространстве [44:04].

Майкл описывает еще один эффект — фазовую отдачу (phase kickback). Он возникает, когда воздействие на целевой кубит в контролируемой операции фактически меняет фазу управляющего кубита [47:27]. Это явление лежит в основе многих квантовых алгоритмов [47:41].

## 🛰️ Протокол сверхплотного кодирования
[[JUMP:0:47:55]]

Квантовая запутанность позволяет реализовать сверхплотное кодирование. С помощью этого протокола можно передать два классических бита информации, отправив всего один кубит [47:58]. 

Процесс разделен на этапы:

1.  Алиса и Боб создают пару запутанных кубитов и забирают по одному [48:11].
2.  Алиса выполняет локальную операцию над своим кубитом в зависимости от того, какие два бита (00, 01, 10 или 11) она хочет передать [48:39].
3.  Алиса отправляет свой кубит Бобу [48:54].
4.  Боб проводит совместное измерение обоих кубитов и получает исходное сообщение Алисы [49:33].

## 🛠️ Реверсивность и квантовые функции
[[JUMP:0:50:06]]

Все квантовые операции, кроме измерения, должны быть обратимыми (унитарными) [52:53]. Классические логические вентили, такие как OR, необратимы, так как по результату нельзя однозначно восстановить входные данные [51:59]. Чтобы сделать функцию пригодной для квантового компьютера, Майкл использует метод вычисления результата в дополнительном регистре [53:48].

Квантовый компьютер также ограничен теоремой о запрете клонирования. По словам Майкла, невозможно создать точную копию неизвестного квантового состояния [56:45]. Если амплитуды состояния не определены заранее, любая попытка измерения для копирования разрушит исходную суперпозицию [56:58].

## ⚡ Алгоритмы Дойча, Джозы и Бернштейна — Вазирани
[[JUMP:0:57:27]]

Дэвид Дойч предложил первый алгоритм, доказывающий преимущество квантовых вычислений. Задача состоит в определении, является ли функция «черного ящика» константной (всегда выдает 0 или 1) или сбалансированной (выдает 0 для половины входов и 1 для другой) [58:01]. Классическому компьютеру нужно два запроса к функции, алгоритму Дойча — всего один [59:20].

Ричард Джоза и Дэвид Дойч расширили этот подход на функции с множеством входов. Алгоритм Дойча — Джозы находит ответ за один запрос, тогда как классическому алгоритму в худшем случае требуется проверить более половины всех возможных вариантов ($2^{n-1} + 1$) [1:04:02].

Итан Бернштейн и Умеш Вазирани разработали алгоритм для поиска секретной битовой строки $s$ [1:12:10]. В задаче, где функция возвращает скалярное произведение входа и строки $s$, классический компьютер делает $n$ запросов (по одному на каждый бит). Квантовый компьютер вычисляет всю строку $s$ за одно обращение к функции [1:13:03].

## 🎼 Квантовое преобразование Фурье (QFT)
[[JUMP:1:16:26]]

Квантовое преобразование Фурье переводит информацию из представления в виде значений (0 и 1) в представление в виде фаз [1:17:11]. Число кодируется поворотом кубитов вокруг оси Z на определенные углы [1:17:26]. 

В системе из трех кубитов число 5 кодируется следующим образом:

*   Правый кубит поворачивается на 5/8 от полного круга ($2\pi$ радиан) [1:18:00].
*   Следующий кубит поворачивается в два раза сильнее относительно предыдущего [1:18:09].

QFT является обратимым процессом. Инверсное преобразование позволяет вернуть данные из фазового представления в обычное двоичное [1:22:22].

## 🔢 Алгоритм Питера Шора и взлом шифрования
[[JUMP:1:26:42]]

Питер Шор разработал алгоритм для разложения больших чисел на простые множители [1:26:47]. Эта задача лежит в основе криптографической стойкости RSA [1:27:01]. Майкл утверждает: для практического взлома RSA потребуется отказоустойчивый квантовый компьютер с миллионами логических кубитов, что пока недоступно технологически [1:27:14].

Алгоритм Шора сводит задачу факторизации к поиску периода функции модульного возведения в степень [1:28:20]. Процесс включает:

1.  Классический выбор случайного числа $a$, взаимно простого с целевым числом $N$ [1:27:39].
2.  Квантовый поиск периода $r$ функции $a^x \mod N$ [1:29:41].
3.  Применение квантового оценивания фазы (QPE) для извлечения значения периода [1:31:54].
4.  Использование теории чисел для нахождения множителей через наибольший общий делитель (НОД) [1:34:26].

В примере с числом 15 алгоритм Шора находит множители 3 и 5 через период $r=4$ для числа $a=7$ [1:35:49].