Оценка энергии основного состояния - VQE против Изинга против Троттера – Судзуки

9

Отказ от ответственности: я инженер-программист, который интересуется квантовыми вычислениями. Хотя я понимаю некоторые основные понятия, теорию и математику, стоящие за этим, я ни в коем случае не имею опыта в этой области.

Я делаю некоторые предварительные исследования о состоянии разработки квантового программного обеспечения. Часть моего исследования состоит в том, чтобы оценить QDK от Microsoft и некоторые из его примеров (написано в Q #).

Как я понимаю, некоторые проблемы оптимизации (вроде коммивояжера) можно решить, сначала уменьшив их как задачи QUBO или Ising, а затем решив их с помощью алгоритмов квантового отжига или VQE. Частью этого процесса является поиск гамильтониана и решение уравнения Шредингера. Это мое понимание, пожалуйста, поправьте меня, если ошибаетесь.

Гамильтоновы образцы моделирования QDK имеют примеры для моделирования на основе Изинга и Троттера – Судзуки. Но недавно 1Qbit выпустила решение на основе VQE .

Мой вопрос: все ли методы, перечисленные выше (VQE, Ising, Trotter – Suzuki), делают то же самое? То есть оценить энергию основного состояния данной системы? Например, примеры моделирования H2, основанные на VQE и Trotter – Suzuki, в значительной степени делают одно и то же по-разному? Если так, какой метод должен быть предпочтительным?

Анураг Бхандари
источник

Ответы:

7

В каждом из упомянутых вами примеров задача разбита очень грубо на два этапа: нахождение гамильтониана, описывающего проблему в терминах кубитов, и нахождение энергии основного состояния этого гамильтониана. С этой точки зрения преобразование Джордана – Вигнера представляет собой способ нахождения кубитового гамильтониана, соответствующего данному фермионному гамильтониану.

Как только вы определили свою проблему в терминах кубитового гамильтониана, есть (опять же, очень приблизительно) два семейства подходов к поиску энергии основного состояния. С помощью вариационных подходов вы готовите состояния из семейства состояний, называемых анзацами , затем оцениваете значение ожидания гамильтониана для каждого отдельного входного состояния и минимизируете. Чтобы получить каждое значение ожидания, вы можете сделать что-то вроде разбить гамильтонианЧАС до суммы ЧАСзнак равноΣячасяЧАСягде каждый чася реальное число и каждый ЧАСяявляется гамильтонианом, который легче оценить ожидаемое значение, например, оператор Паули. Затем вы можете оценитьЧАС оценивая каждый ЧАСя в очереди.

Другой широкий подход заключается в том, чтобы превратить вашу проблему оценки энергии в проблему оценки частоты, развивая входное состояние под кубитовым гамильтонианом. ЧАСэто представляет вашу проблему. Как вы заметили в своем вопросе, это неявно использует уравнение Шредингера|ψ(T)знак равное-яЧАСT|ψ(0), В особом случае это|ψ(0) это основное состояние (скажем, в результате адиабатической подготовки), то это дает вам |ψ(T)знак равное-яЕT|ψ(0); то есть глобальная фаза о вашем начальном состоянии. Поскольку глобальные фазы ненаблюдаемы, вы можете использовать трюк с откатом фазы (см. Главу 7 моей книги, когда она будет опубликована для получения более подробной информации), чтобы превратить эту глобальную фазу в локальную фазу. Оттуда, как вы меняетесьTэнергия основного состояния отображается в виде частоты, которую вы можете узнать с помощью оценки фазы. Сама фазовая оценка имеет две основные разновидности (здесь есть небольшая тема ...), а именно квантовая и итеративная фазовая оценка. В первом случае вы используете дополнительные кубиты для считывания фазы в квантовый регистр, что очень полезно, если вы хотите выполнить дальнейшую квантовую обработку этой энергии. Во втором случае вы используете один дополнительный кубит для выполнения классических измерений с фазовым возвратом, что позволяет повторно использовать вашу копию основного состояния. На этом этапе обученияЕ из ваших классических измерений - это классическая задача статистики, которую вы можете решить различными способами, например, с помощью алгоритма Китаева, оценки максимального правдоподобия, байесовского вывода, надежной оценки фазы, оценки фазы случайного блуждания или многих других.

Это тогда оставляет проблему того, как развиваться под ЧАС, Вот где приходят такие техники, как Троттер-Судзуки. Используя разложение Троттера-Судзуки, вы ломаетеЧАСв сумму терминов, каждый из которых легко смоделировать (это может быть то же самое, что и разложение, которое вы бы использовали для VQE, но не обязательно), затем быстро переключайтесь между имитацией каждого термина. Есть много других алгоритмов моделирования, таких как кубитизация, но Trotter – Suzuki - отличное место для начала.

Учитывая множество различных методов, вы бы выбрали VQE вместо оценки фазы или наоборот? Это зависит от того, какие квантовые ресурсы вы хотите использовать для решения вашей проблемы. На очень очень высоком уровне VQE имеет тенденцию генерировать очень большое количество квантовых цепей, каждая из которых довольно мелкая. В отличие от этого, для оценки фазы используются квантовые программы, которые значительно сокращают объем данных, которые вам нужны, используя когерентную эволюцию (опять же примерно, это разница между точностью, ограниченной Гейзенбергом, и «стандартным квантовым пределом», который не является ни стандартным, ни квантовым, ни предел - но я отвлекся). Недостатком является то, что для оценки фазы можно использовать больше кубитов и более глубоких квантовых программ.

Крис Гранаде
источник
1
Спасибо за такое подробное объяснение. Я остановлюсь на этом и вернусь, если потребуется.
Анураг Бхандари
Кроме того,
Анураг Бхандари
1
Я могу помочь с книгой, вы можете найти ее здесь: bit.ly/qsharp-book 💖 Если у вас есть какие-либо вопросы, сообщите об этом Крису или мне!
Доктор Сара Кайзер