Майкл из проекта Quantum Soar представил на платформе freeCodeCamp.org курс по квантовым вычислениям. Он утверждает: понимание технологии невозможно через поверхностные аналогии вроде «бит, который одновременно равен 0 и 1» . Материал фокусируется на математическом фундаменте и механике работы алгоритмов без упрощений .
🧮 Математический фундамент: комплексные числа и матрицы 0:02:03
Для описания квантовых состояний Майкл использует комплексные числа вида $a + i b$, где $i$ — это квадратный корень из $-1$ . В квантовых вычислениях такие числа чаще представляются в экспоненциальной форме $r e^{i \theta}$ . Это позволяет описывать вращение состояния вокруг круга, что критически важно для моделирования квантовых систем .
Операции над кубитами выполняются с помощью матриц. Майкл выделяет два ключевых типа матриц:
- Унитарные матрицы: при их воздействии длина вектора состояния остается неизменной, он только вращается или отражается .
- Эрмитовы матрицы: их комплексно-сопряженное транспонирование (обозначаемое знаком «даггер» $\dagger$) равно исходной матрице .
Трансформация вектора происходит через матричное умножение . Если при воздействии матрицы вектор сохраняет направление, но меняет длину, его называют собственным вектором, а коэффициент растяжения — собственным числом .
⚛️ Квантовый бит и нотация Поля Дирака 0:14:57
В отличие от классического бита, кубит представляется как вектор-столбец с двумя элементами . Майкл использует нотацию, которую разработал Поль Дирак: квантовые состояния записываются в угловых скобках, называемых «кет» ($|0\rangle$ и $|1\rangle$) .
Математически кубиты описываются следующими правилами:
- Состояние $|0\rangle$ соответствует вектору $[1, 0]$, а состояние $|1\rangle$ — вектору $[0, 1]$ .
- Суперпозиция — это линейная комбинация этих состояний .
- Вероятность измерения конкретного состояния равна квадрату модуля его амплитуды .
- Сумма вероятностей всех возможных исходов всегда равна единице .
После измерения система «коллапсирует»: она переходит в то состояние, которое было измерено . Если до измерения кубит был в суперпозиции, то после он навсегда остается в состоянии $0$ или $1$ .
🌐 Сфера Феликса Блоха и квантовые вентили 0:21:28
Для визуализации состояния кубита используется концепция, которую предложил Феликс Блох. На сфере Блоха северный полюс соответствует состоянию $|0\rangle$, а южный — $|1\rangle$ . Вращение по поверхности сферы называется фазой . Майкл уточняет: глобальная фаза физически неразличима, но относительная фаза между состояниями $|0\rangle$ и $|1\rangle$ определяет результат вычислений .
Управление кубитами осуществляется через квантовые вентили (гейты):
- Вентили X, Y, Z: вращают состояние на 180 градусов вокруг соответствующих осей сферы .
- Вентиль Жака Адамара: переводит кубит из базового состояния в суперпозицию с равными вероятностями исхода .
- Вентили S и T: добавляют фазовый сдвиг на 90 и 45 градусов соответственно .
🔗 Квантовая запутанность и фазовая отдача 0:35:15
При работе с несколькими кубитами их общее состояние описывается через тензорное произведение индивидуальных векторов . Если система из двух кубитов не может быть разделена на два независимых состояния, она называется запутанной .
Джон Стюарт Белл описал четыре максимально запутанных состояния, известных как состояния Белла . В таких системах измерение одного кубита мгновенно определяет состояние второго, даже если они разнесены в пространстве .
Майкл описывает еще один эффект — фазовую отдачу (phase kickback). Он возникает, когда воздействие на целевой кубит в контролируемой операции фактически меняет фазу управляющего кубита . Это явление лежит в основе многих квантовых алгоритмов .
🛰️ Протокол сверхплотного кодирования 0:47:55
Квантовая запутанность позволяет реализовать сверхплотное кодирование. С помощью этого протокола можно передать два классических бита информации, отправив всего один кубит .
Процесс разделен на этапы:
- Алиса и Боб создают пару запутанных кубитов и забирают по одному .
- Алиса выполняет локальную операцию над своим кубитом в зависимости от того, какие два бита (00, 01, 10 или 11) она хочет передать .
- Алиса отправляет свой кубит Бобу .
- Боб проводит совместное измерение обоих кубитов и получает исходное сообщение Алисы .
🛠️ Реверсивность и квантовые функции 0:50:06
Все квантовые операции, кроме измерения, должны быть обратимыми (унитарными) . Классические логические вентили, такие как OR, необратимы, так как по результату нельзя однозначно восстановить входные данные . Чтобы сделать функцию пригодной для квантового компьютера, Майкл использует метод вычисления результата в дополнительном регистре .
Квантовый компьютер также ограничен теоремой о запрете клонирования. По словам Майкла, невозможно создать точную копию неизвестного квантового состояния . Если амплитуды состояния не определены заранее, любая попытка измерения для копирования разрушит исходную суперпозицию .
⚡ Алгоритмы Дойча, Джозы и Бернштейна — Вазирани 0:57:27
Дэвид Дойч предложил первый алгоритм, доказывающий преимущество квантовых вычислений. Задача состоит в определении, является ли функция «черного ящика» константной (всегда выдает 0 или 1) или сбалансированной (выдает 0 для половины входов и 1 для другой) . Классическому компьютеру нужно два запроса к функции, алгоритму Дойча — всего один .
Ричард Джоза и Дэвид Дойч расширили этот подход на функции с множеством входов. Алгоритм Дойча — Джозы находит ответ за один запрос, тогда как классическому алгоритму в худшем случае требуется проверить более половины всех возможных вариантов ($2^{n-1} + 1$) .
Итан Бернштейн и Умеш Вазирани разработали алгоритм для поиска секретной битовой строки $s$ . В задаче, где функция возвращает скалярное произведение входа и строки $s$, классический компьютер делает $n$ запросов (по одному на каждый бит). Квантовый компьютер вычисляет всю строку $s$ за одно обращение к функции .
🎼 Квантовое преобразование Фурье (QFT) 1:16:26
Квантовое преобразование Фурье переводит информацию из представления в виде значений (0 и 1) в представление в виде фаз . Число кодируется поворотом кубитов вокруг оси Z на определенные углы .
В системе из трех кубитов число 5 кодируется следующим образом:
- Правый кубит поворачивается на 5/8 от полного круга ($2\pi$ радиан) .
- Следующий кубит поворачивается в два раза сильнее относительно предыдущего .
QFT является обратимым процессом. Инверсное преобразование позволяет вернуть данные из фазового представления в обычное двоичное .
🔢 Алгоритм Питера Шора и взлом шифрования 1:26:42
Питер Шор разработал алгоритм для разложения больших чисел на простые множители . Эта задача лежит в основе криптографической стойкости RSA . Майкл утверждает: для практического взлома RSA потребуется отказоустойчивый квантовый компьютер с миллионами логических кубитов, что пока недоступно технологически .
Алгоритм Шора сводит задачу факторизации к поиску периода функции модульного возведения в степень . Процесс включает:
- Классический выбор случайного числа $a$, взаимно простого с целевым числом $N$ .
- Квантовый поиск периода $r$ функции $a^x \mod N$ .
- Применение квантового оценивания фазы (QPE) для извлечения значения периода .
- Использование теории чисел для нахождения множителей через наибольший общий делитель (НОД) .
В примере с числом 15 алгоритм Шора находит множители 3 и 5 через период $r=4$ для числа $a=7$ .