Вы боретесь с пониманием квантовых схем из-за всей математики?

Хотите начать работу с квантовым машинным обучением? Взгляните на статью Практическое квантовое машинное обучение с помощью Python.

В предыдущих сообщениях я утверждал, что не нужно быть математиком или физиком, чтобы понять квантовые вычисления.

Тем не менее, если вы не математик и не физик, изучение квантовых алгоритмов иногда может быть трудным. Это сложно, потому что в нем широко используются символы. Проблема с символами в том, что вы не можете легко их погуглить. Рассмотрим, например, следующую схему.

Он представляет собой структуру, с которой вы часто сталкиваетесь при изучении квантовых алгоритмов. Но если вы не знаете, что означают эти термины, как узнать?

Рассмотрим, например, | 0⟩ и | 1⟩. Просто для удовольствия: погуглите.

Как насчет 𝐻⊗𝑛? Вы бы хоть знали, как ввести этот термин в Google? (даже текстовый редактор Medium не поддерживает правильное написание этого термина.) Я имею в виду, что если все, что у вас есть, - это изображение, даже скопировать текст из него не составит труда.

Эти символы ничем не хуже иероглифов, если вы не математик.

Конечно, не нужно быть гением, чтобы понять квантовую схему. У тебя все будет хорошо, если ты немного умнее Клетуса.

Итак, давайте прольем свет на квантовую схему. Квантовые вычисления не используют математические символы для случайного описания. Квантовая схема - это математическая конструкция. Это уравнение. И, без сомнения, математика - это лаконичный и точный язык. С помощью математики можно очень кратко описывать алгоритмы.

К сожалению, для большинства из нас математика - в лучшем случае второй язык.

Начнем с самого левого. Там мы находим вход в нашу схему. | 0⟩ и | 1⟩ обозначают исходные состояния кубитов. Когда мы измеряем кубит в состоянии | 0⟩, он равен 0. А когда мы измеряем кубит в состоянии | 1⟩, он равен 1. Это похоже на классический бит.

Тогда почему бы нам просто не написать 0 и 1? Почему мы помещаем их в такую ​​странную рамку?

Причина в том, что кубит - это не просто 0 или 1. Он находится в линейной комбинации 0 и 1, если вы его не измерили. Как только вы его измеряете, он мгновенно становится 0 или 1. И мы описываем эту линейную зависимость с помощью векторов. Итак, | 0⟩ и | 1⟩ обозначают два вектора. Это стандартные базисные векторы, которые мы используем в квантовых вычислениях, записанные в нотации Дирака. Векторы - это геометрические объекты с длиной и направлением. Обозначение Дирака (также известное как bra-ket) популярно в области квантовой механики. Но в этом нет ничего необычного.

Мы можем просто сказать, что

Я должен признать. Эти два уравнения просто переводят вектор из одной записи в другую. Таким образом, он по-прежнему использует математику и символы. Но это обозначение, которое большинство людей учат в старшей школе. И я добавил достаточно ключевых слов, чтобы вы могли гуглить, если вы вообще не знакомы с векторами.

Но прежде чем вы перейдете к Google, почему бы нам не взглянуть на эти два вектора графически?

Каждое число внутри вектора представляет собой измерение. Итак, наши векторы двумерны.

В этом представлении оба измерения находятся на вертикальной оси, но в противоположных направлениях. Таким образом, верх и низ системы соответствуют стандартным базисным векторам | 0⟩ и | 1⟩ соответственно.

На рисунке есть еще один вектор под названием «psi» - | 𝜓⟩.

| 𝜓⟩ обозначает произвольное состояние кубита. Как мы упоминали выше, кубит находится в линейной зависимости 0 и 1. Следовательно,

𝛼 и 𝛽 - расстояния вектора до стандартных базисных векторов | 0⟩ и | 1⟩. Если мы возведем их в квадрат, мы получим вероятность измерения кубита как 0 (= 𝛼²) или как 1 (= 𝛽²).

Например, если мы говорим 𝛼 = 1 и 𝛽 = 0, то | 𝜓⟩ = 1⋅ | 0⟩ + 0⋅ | 1⟩ = | 0⟩. Для 𝛼 = 1 вероятность измерения кубита как 0 составляет 1² = 1 = 100%.

Это просто математика, чтобы сказать, что мы измеряем один кубит как 0, а другой как 1, не так ли?

Но мы еще не закончили инициализацию. Вы могли заметить небольшой верхний индекс 𝑛 рядом с | 0⟩ ^ 𝑛. Обычно это показатель степени. Здесь говорится, что у нас не один кубит в состоянии | 0⟩, а 𝑛 кубитов в этом состоянии. Мы могли бы также записать его как | 00 ⋯ 0⟩ с 𝑛 0s.

Итак, наша схема содержит n кубитов, инициализированных в состоянии, которое мы бы измерили как 0, и один кубит, который мы бы измерили как 1.

Рядом с инициализацией кубитов мы видим термины 𝐻⊗𝑛 и 𝐻. Начнем с последнего. В квантовых вычислениях матрицы обычно обозначают заглавные буквы. Матрица 𝐻 обозначает матрицу Адамара, которая определяется как

Важно знать, что произойдет, если вы умножите матрицу на вектор (учитывая, что количество столбцов матрицы равно количеству строк вектора). Тогда результат - другой вектор.

Например, если мы умножим матрицу Адамара на вектор состояния | 0⟩ или | 1⟩, то мы получим другой вектор.

и

Оба результирующих вектора имеют значения 𝛼 и 𝛽, которые равны, если вы возведете их в квадрат. Единственная разница - знак 𝛽 при умножении 𝐻 на | 1⟩. Обычно знак также является краткой формой этого состояния.

В квантовых вычислениях | +⟩ - это сокращение от

а | − - сокращение от

Если возвести в квадрат любое из этих значений для вычисления вероятности кубита как 0 или 1 соответственно, вы получите 1/2.

Итак, матрица эффективно изменила состояние кубита. Мы больше не измеряем кубит как 0 или 1 с уверенностью. Но когда мы его измеряем, он может быть 0 или 1 - каждое с вероятностью 50%.

Может быть, вы уже подозреваете, что означает 𝐻⊗𝑛. | 0⟩ ^ 𝑛 представляет 𝑛 кубитов в состоянии | 0⟩. Если рассматривать эти кубиты как единый вектор, то этот вектор имеет не только два измерения, но и 2⋅𝑛 измерения. Каждый кубит имеет два измерения.

Мы можем умножить матрицу на вектор, только если они имеют одинаковое количество измерений. Это то, о чем заботится 𝐻⊗𝑛.

Давайте посмотрим на 𝐻⊗2 = 𝐻⊗𝐻. Такой способ умножения двух матриц называется тензорным произведением. Мы можем записать это как

Это создает большую матрицу. И, что более важно, он работает рекурсивно.

Я избавляю вас от расширения 2 здесь. В общем, это

Эта формула известна как произведение Кронекера. Это математический способ сказать:

Примените одну и ту же матрицу преобразования (здесь 𝐻 ) к каждому из 𝑛 кубитов.

Следующий член схемы имеет имя 𝑈𝑓. Он представляет собой унитарную матрицу. Унитарная матрица - это сама сопряженная транспонированная матрица. Звучит сложно. Но это просто перевернутая диагональ матрицы. Матрица, которая представляет собой сопряженную транспонированную матрицу, имеет интересные характеристики. Например, когда вы умножаете такую ​​матрицу на себя, результатом является единичная матрица. 𝑈 - матрица, а 𝑈 † - сопряженная к ней транспонированная. Тогда 𝑈 † 𝑈 = 𝑈𝑈 † = 𝐼.

Мы узнали, что матрицы трансформируют состояние кубита. Но единичная матрица не меняет этого. Итак, мы можем сказать 𝐼 | 𝜓⟩ = | 𝜓⟩.

Итак, когда вы дважды умножаете состояние кубита на одно и то же унитарное состояние, это снова приводит к исходному состоянию кубита. Или, иначе говоря, трансформация возвращается сама собой.

Другой важной характеристикой унитарной матрицы является то, что она сохраняет вероятности измерения. И это важный момент в рассматриваемой схеме.

Помните, что все кубиты находятся в состоянии с равной вероятностью 0 и 1 перед подачей их в преобразование. Таким образом, если унитарная матрица не изменяет вероятности, они все равно остаются равными впоследствии.

Почему мы вообще применяем эту матрицу, если она не меняет вероятности?

Разница между | +⟩ и | −⟩ и есть ответ. Как мы уже говорили выше, кубиты в обоих состояниях имеют одинаковые вероятности измерения.

Но уже известные нам ворота Адамара имеют интересный эффект. Он не только превращает кубит из | 0⟩ в | +⟩ и | 1⟩ в | −⟩, но также превращает | +⟩ обратно в | 0⟩ и | −⟩ обратно в | 1⟩. Он возвращается в исходное состояние.

И это то, что делает финальный 𝐻⊗𝑛. Дело в том, что 𝑈𝑓 заменяет определенную проблему, которую мы стремимся решить.

Он переворачивает только некоторые кубиты с | +⟩ на | −⟩. Он переворачивает те, которые должны быть 1 в решении задачи. И он оставляет нетронутыми те элементы в | +⟩, которые должны быть равны 0 в решении.

Вывод

В этом посте мы пролили свет на математику, лежащую в основе квантовой схемы. Мы узнали о математике квантовой схемы и о том, что это значит.

Оказывается, в маленьких математических символах много смысла. Если вы знаете их все, математика - это краткий способ точного описания схемы. Но если вы не знаете всего этого, одной математики в качестве объяснения недостаточно. Он не подчеркивает важные моменты и не дает подсказок (например, ключевых слов), которые вы могли бы использовать для собственного исследования.

Предлагаемая схема представляет собой структуру известных квантовых алгоритмов, таких как алгоритм Дойча-Йозса и алгоритм Бернштейна-Вазирани.

Разница между обоими алгоритмами заключается в реализации 𝑈𝑓.

Матрица 𝑈𝑓 переворачивает эти кубиты с | +⟩ на | −⟩, которые мы хотим измерить как 1. И они образуют решение проблемы, которую стремится решить алгоритм.

В этом посте вы можете узнать больше о деталях Uf и алгоритме Дойча-Йозса.

Чем больше вы узнаете о квантовых вычислениях, тем больше вы поймете математику. Но вы также увидите, что квантовые вычисления - это не только математика. Тогда вы удивитесь, почему никто не потрудился объяснить вещи нематематическим языком.

Математика должна быть дополнением к объяснению. Тогда читателю будет легче понять формулы. Если она уже понимает концепцию, когда видит формулу, скорее всего, все эти символы имеют какой-либо смысл.

Хотите начать работу с квантовым машинным обучением? Взгляните на статью Практическое квантовое машинное обучение с помощью Python.

Первые три главы получите бесплатно здесь.