Давайте займемся математикой.

В драгоценной статье я сказал, что любую матрицу можно записать в виде набора XYZ.

На тот случай, если вы даже не знаете, что означает слово «Матрица», это просто таблица, содержащая числа. Не ахти какое дело.

Просто напомню, что я имею в виду «XYZ» — это операторы Паули. На самом деле его больше. Там есть дополнительное «я», которое ничего не делает, в то время как другие переворачивают 0 на 1 и 1 на 0.

Они называются «Генераторы». Любая матрица может быть сгенерирована из этих 4 операторов Паули {I,X,Y,Z}.

Почти таким же образом любая матрица 2 на 2 может быть сгенерирована из матрицы с 4 базисами, которую вы должны увидеть в любом учебнике по линейной алгебре.

Система именования будет такой

Если мы получили 1, где i=0 и j=0, то есть M00 = 1

Например,

Угадайте, что вы можете переписать вещи Mij, используя XYZ!

So,

Поскольку мы можем записать любую матрицу 2 на 2 относительно Mij, а затем каждый Mij можно переписать как сумму комбинаций операторов Паули, это означает, что любую матрицу 2 на 2 можно записать в виде операторов Паули , и ее можно решить на квантовых компьютерах! (Или это?)

Чтобы убедиться в этом, попробуем переписать I операторами Паули.

Это действительно так.

Но вы знаете, что есть матрицы большего размера. Как 4 на 4! Как мы можем иметь дело с любой матрицей 4 на 4 или даже большей?

Позвольте мне подумать об этом.

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

Точно так же матрицу B размером 4 на 4 можно разделить на 4 маленькие матрицы размером 2 на 2.
Как показано выше, мы можем сказать, что внутри находится матрица A (взято из начала этой статьи). положение M00 сжатого martix B.

Это точно так же, как координаты карт террин. За грубой координатой следует точная координата.

Таким образом, во многих системах координат каждая координата определенного местоположения будет назначена как [грубая] + [точная].

В этом случае, скажем, чтобы определить число 5, его координата будет [00]+[10], просмотрев приведенную ниже систему именования Mij.

И мы должны преобразовать это во что-то вроде координаты x, y, но в обратном порядке. Потому что мы сначала считаем строку i, а затем столбцы j. Самая точная координата будет представлена ​​наименьшим индексом i или j.

Давайте посмотрим, соответствует ли это системе Mij.

При подсчете любых i и j в двоичном виде, считая до 4, будет

Сравнение…

Конечно, 5 находится в (01, 00). Я просто знал это.

Используя описанную выше технику, давайте перепишем матрицу 4 на 4 в терминах XYZ.

Для простоты давайте просто 5.

Глядя на его координаты (01, 00), есть 2 цифры на каждой из осей, что указывает на то, что это 2-кубитная система. Напомним, что самая точная координата будет представлена ​​наименьшим индексом i или j.

Таким образом, грубая координата указывает M00, а M10 — точную координату. Мы уже сделали декомпозицию 20-ю строками ранее.

Здесь мы будем использовать метод продвинутой линейной алгебры под названием Tensor Product. Я бы не стал вдаваться в подробности, потому что это просто (но продвинуто? что?).

С

И здесь мы должны присвоить индексы XYZ. Больший индекс для более грубого Mij. Следовательно

Скорее всего, тензорный продукт просто собирает вещи вместе, ничего не меняя. Точно так же, как делать умножение, но не вычислять его.

Хорошо. Я считаю, что мы действительно должны оценивать тензорное произведение, чтобы увидеть процесс и результат.

Для I1*X0 есть I и X

Если запись не равна нулю, это означает, что у вас могут быть вещи. Например, умножая X на 1, вы получаете один X, но X * 0 = ноль X = там ничего нет. А коэффициенты можно перемножать.

Следовательно,

Вот и мы. Это базовая матрица для нашей цели B5.

Все, что вам нужно, это умножить это на коэффициент 5 (не убивать).

B5 = 5 * 1/4 * ( I1*X0 -I1*iY0 +Z1*X0 -Z1*iY0 )
   =     5/4 * ( I1*X0 -I1*iY0 +Z1*X0 -Z1*iY0 )

Осторожность:

В пакете python OpenFermion индекс в значительной степени запутан из-за их соглашения о том, что индексирование должно соответствовать структуре списка Python:

                 j0 j1 j2 j3
                 00 10 01 11
Mij(4) = i0 00 [             ]
         i1 10 [  5          ]
         i2 01 [             ]
         i3 11 [             ]

Таким образом, в OpenFermion наш B5 должен быть рассчитан как тензорное произведение (M10, M00), в результате чего получается обратное [fine->coarse] . (И я так запутался. Эти ребята-физики плохо объясняют вещи.)

fine coarse , fine coarse
(i0  i1     ,   j0     j1)

Статьи по Теме

1. Символические квантовые вычисления меняют правила игры, превращая проблему O(2^n) в проблему O(log2 n) («https://hirasawakin.medium.com/symbolic-quantum-computation-is-a-game-changer -превратить-о-2-н-проблему-в-о-лог2-н-проблему-5654307a5255")

2. Cracking Qubit Operator Representation of Any Matrix (https://hirasawakin.medium.com/cracking-qubit-operator-representation-of-any-matrix-4e0451a4c7d7)

3. Нерепрезентативность моделирования химии или физики в области квантовых вычислений («https://hirasawakin.medium.com/unrespresentitivity-of-chemistry-or-physiscs-simulation-in-the-realm-of-Quantum-computing- 51ecd5348d30")

4. Оператор Паули, коммутатор, сфера Блоха, бинарная операция и циклическая группа -1343аб18ф038»