[МУЗЫКА] [МУЗЫКА] [МУЗЫКА] Далее мы будем пользоваться диаграммами следующего вида: горизонтальные линии у нас будут означать отдельные кубиты. Старшие вверху, то есть например, состояние |1 0 0> будет выглядеть так: единичка здесь, второй нолик — здесь, и третий — внизу. И операторы, которые мы последовательно применяем к этим кубитам, будут располагаться в том порядке, в котором мы их применяем, в квадратах на соответствующих кубитах. Например, применение оператора Адамара сразу к двум кубитам будет выглядеть у нас на диаграмме вот так. Раз кубита у нас два, значит, пространство четырехмерное. И значит, матрица такого преобразования должна быть четыре на четыре. Как она будет выглядеть? Очень просто. Это просто тензорное произведение маленьких наших двухмерных матриц Адамара. [БЕЗ_ЗВУКА] Здесь тензор. Тензорное произведение. И это все равно 1/2 матрица 4 на 4 из таких вот блоков 2 на 2. [БЕЗ_ЗВУКА] Теперь представим ситуацию, что оператор Адамара применяется только к первому кубиту. Ко второму не применяется. Как будет выглядеть матрица такого преобразования? Она тоже должна быть 4 на 4. Раз здесь у нас ничего не происходит, ничего не применяется, мы можем сказать, что это применение тождественного оператора. И соответственно, матрица такого преобразования будет H тензорно на I это равно 1 / √2, I, I, I и −I. Такая вот матрица 4 на 4. Ну и соответственно, если с первым кубитом у нас ничего не происходит, а со вторым происходит преобразование адомара то это тензорно перемножаем I на H. H, 0, 0, H. Вот такая матрица. Теперь рассмотрим систему из трех кубит. И на третьем кубите мы применяем CNOT. CNOT на схемах мы будем обозначать так: бит, который CNOT переворачивает, обозначается просто оператором NOT, и бит, который контролирует этот оператор, обозначается вот такой вот точкой. То есть здесь второй бит контрольный, а третий бит контролирует. И матрица такого преобразования будет... Здесь мы можем представить, что у нас тождественный оператор. Просто I тензорно умножить на CNOT, и это матрица 8 на 8. Здесь CNOT 4 на 4, матрица из нулей 4 на 4, и CNOT-ы у нас по диагонали. А как будет выглядеть матрица преобразования вот такого, скажем? Контролируемый бит у нас по-прежнему третий, а контрольный — первый. Итак. Нам нужна матрица вот такого оператора. Оператор CNOT, я напоминаю, на двух кубитах выглядит вот так. Если бы мы могли представить матрицу CNOT, как тензорное произведение каких-то двух матриц 2 на 2, например, матрица A для контрольного кубита и матрица B для контролируемого, то тогда мы получили бы... второй кубит у нас... мы не трогаем. Получили бы такое вот тензорное произведение. То есть мы между матрицами A и B вставили бы тождественный оператор 2 на 2. Но, к сожалению, матрица CNOT не раскладывается на такое тензорное произведение. Так же, как мы состояние Белла не могли разложить на тензорное произведение двух состояний, эта матрица не раскладывается на тензорное произведение двух маленьких матриц. Это такая запутанная матрица, на самом деле, запутывающая. И с помощью такого рода матриц получаются запутанные состояния вроде состояния Белла. Ну, как же нам быть? Если таких матриц A на B не существует, то и матрица такого оператора, скорее всего, не представляется в виде тензорного произведения каких-то меньших матриц. Здесь мы можем воспользоваться таким простым свойством. Давайте рассмотрим некую матрицу А, состоящую из своих компонент: a₁₁ a₁ₙ. Просто ее распишем. a₂₁, a₂ₙ, aₙ₁, aₙₙ. И давайте применим эту матрицу к k-му вектор-столбцу, то есть к такому вектор-столбцу, у которого единичка стоит на одном единственном месте, на k-м. Каков будет результат применения вот такой матрицы к такому столбцу? Ну, легко посмотреть. Просто умножаем матрицу на столбец, что это будет k-й столбец матрицы. Каким образом, не зная матрицу оператора, но зная, как оператор должен действовать на базисные столбцы, мы можем получать вид матрицы оператора, то есть любой из столбцов матрицы оператора? Например, для этого оператора. Вектор |000> переходит в вектор |000>, поскольку контрольный кубит у нас нолик. И вообще все кубиты, для которых... все состояния, для которых контрольный кубит — нолик, переходят сами в себя. Получается, что первые два столбца нашей матрицы — это столбцы тождественного оператора. То есть на столбец, в котором единичка вверху, это вот этот вектор, оператор действует, как тождественный, и получается, что первый столбец нашей вот этой матрицы — это столбец, у которого единичка вверху и остальные семь ноликов под ней. Это следующий столбец, у которого единичка на втором месте, и он тоже не меняется. А например, столбец вот такой, это столбец, в котором единичка на шестом месте, и соответственно, мы сейчас посмотрим, как будет выглядеть шестой столбец нашей матрицы, он согласно схеме переворачивает третий младший бит. И таким образом вместо шестого столбца мы должны нарисовать здесь у нас третий, четвертый, пятый, шестой столбец. Вместо шестого столбца мы должны нарисовать пятый столбец тождественного оператора, а вместо пятого очевидно шестой, потому что |100> переходит в |101>. То есть эти два столбца, пятый и шестой, в тождественном операторе меняются местами и т.д. [БЕЗ_ЗВУКА]