Линейные трансформации
Поворот на плоскости представляет пример линейной трансформации. Другими примерами являются отражение плоскости относительно прямой, проходящей через начало координат, и растяжение плоскости с фиксированным коэффициентом растяжения.
Ключевое свойство линейной трансформации в том, что она полностью определяется трансформациями базисных векторов. Предположим, что Т -линейная трансформация в и нам известны трансформации базисных векторов . Тогда для произвольного вектора
![v = а_1е_1 + а_2е_2 +\dots + а_Nе_N](/sites/default/files/tex_cache/6b88484e287814b8aa4c12bd9ee46f73.png)
трансформация вектора вычисляется так:
![Т(v) = Т(а_1е_1 -а_2е_2 +\dots+а_Nе_N) = Т(а_1е_1)+Т(а_2е_2)+\dots+Т(а_Nе_N)=\\
= а_1Т(е_1) + а_2Т(е_2) +\dots +а_NТ(е_N)](/sites/default/files/tex_cache/39a8589dd17b234455451f4569a40358.png)
Этот метод мы использовали при вычислении образа вектора для трансформации поворота вектора.
Еще один пример для тех, кто знаком с дифференциальным исчислением. Давайте рассмотрим трансформацию D в пространстве полиномов, где каждый полином f (Х) трансформируется в свою производную: . Линейные свойства трансформации D представляют известные правила дифференцирования для суммы переменных и умножения переменной на константу:
![D(f+g)=D(f)+D(g),\; D(cf)cD(f),](/sites/default/files/tex_cache/b25a44133e29bac52c873f5adb010d44.png)
Следовательно, взятие производной можно рассматривать как линейную трансформацию. Из правил дифференцирования следуют трансформации базисных векторов в пространстве полиномов . Нетрудно видеть, что взятие производной для полинома выполняется в полном соответствии с нашим подходом к трансформациям - полином представляется в виде комбинации базисных векторов, а его производная вычисляется, используя линейные свойства трансформации, например,
![D(X^5+3X^2-4X+1)=D(X^5)+3D(X^2)-4D(X)+D(1)=5X^4+6X-4](/sites/default/files/tex_cache/f71f7d3167dfc4467cc48d80c68f20a0.png)
Давайте теперь обсудим приложение теории линейных трансформаций к квантовой криптографии. Вспомним, что в схеме получения секретного потока ключей Алиса и Боб получают фотоны, формирующие запутанные пары. Каждая пара в находится в состоянии . Когда они вьшолняют измерения, то с вероятностью 0.5 они получают "0", с такой же вероятностью они могут получить " 1". Благодаря запутанности их результаты измерений будут совпадать.
Представим себе, что Ева пытается атаковать эту схему и способна заменить поток запутанных пар потоком незапутанных пар в случайно выбранных состояниях и
. В этом случае Алиса и Боб по-прежнему будут иметь согласованные результаты измерений и в примерно половине случаев результаты будут равны 0, а в остальных -1. Так как эти состояния сгенерированы Евой, то Ева будет знать результаты наблюдений Боба и Алисы и, следовательно, будет знать секретный ключ.
Как могут Алиса и Боб обнаружить атаку Евы? Предположим, что Алиса и Боб оба вращают свои поляризационные фильтры на один и тот же угол У. Можно ли предсказать результаты измерений? Математически это эквивалентно применению трансформации поворота каждого кубита, а затем проведению измерений. Квантовые состояния фотонов трансформируются следующим образом:
![|0\rangle \to \cos \alpha |0\rangle +\sin \alpha |1\rangle\\
|1\rangle \to -\sin \alpha |0\rangle +\cos \alpha |1\rangle](/sites/default/files/tex_cache/a271c3b0fa5b6e0b0717ef7b609afc6c.png)
Так как одна и та же трансформация применима к первому и второму фотону пары, в результате получим:
![\frac{1}{\sqrt 2}|00\rangle +\frac{1}{\sqrt 2}|11\rangle \to\\
\frac{1}{\sqrt 2}(\cos\alpha |0\rangle +\sin \alpha |1\rangle )(\cos \alpha |0\rangle +\sin\alpha |1\rangle )+\\
\frac{1}{\sqrt 2}(-\sin \alpha |0\rangle +\cos \alpha |1\rangle )(-\sin \alpha |0\rangle +\cos \alpha |1\rangle )=\\
=\frac{1}{\sqrt 2}(\cos \alpha |00\rangle +\sin \alpha |01\rangle +\sin \alpha \cos\alpha |10\rangle +\sin^2 \alpha |11\rangle )\\
+\frac{1}{\sqrt 2}(\sin^2 \alpha|00\rangle -\sin \alpha \cos \alpha |01\rangle -\sin \alpha \cos \alpha |10\rangle +\cos^2 \alpha)|11\rangle \\
=\frac{1}{\sqrt 2}|00\rangle +\frac{1}{\sqrt 2}|11\rangle](/sites/default/files/tex_cache/26fc73bdd8c264ef73e4785a60e25a86.png)
Мы пришли к неожиданному результату - после выполнения поворота запутанное состояние не изменилось! Это означает, что после поворота их поляризационных фильтров приходим к одним и тем же новым осям, так что не будет никаких изменений в статистике наблюдений. Алиса и Боб по-прежнему будут одновременно наблюдать нули и единицы со 100% корреляцией.
Теперь давайте посмотрим, что произойдет при получении Алисой и Бобом фотонов, посланных Евой, в незапутанном состоянии:
![|00\rangle \to (\cos \alpha |0\rangle +\sin \alpha |1\rangle )(\cos \alpha |0\rangle +\sin \alpha |1\rangle )\\
=\cos^2 \alpha |00\rangle +\sin \alpha \cos \alpha |01\rangle +\sin \alpha \cos \alpha |10\rangle +\sin^2 \alpha |11\rangle](/sites/default/files/tex_cache/f29176b2fb115ff7c3622dfae3db8779.png)
Мы видим, что в этом случае для некоторых наблюдений Алиса может получить 1, в то время как Боб будет наблюдать 0. Достаточно просто вычислить вероятность такой ситуации как функцию угла .
Для проверки целостности канала Алисе и Бобу достаточно измерить часть их потока с различным выравниванием поляризационных фильтров. Затем они могут обменяться результатами измерений по открытому каналу 100% совпадение результатов указывает на отсутствие атаки. Естественно, что биты, используемые для тестирования, не должны использоваться при генерации секретного ключа.
В заключение этой главы поясним идею параллелизма в квантовых вычислениях. Здесь мы сформулируем лишь саму идею в упрощенной форме, детали появятся последующих лекциях. Как уже упоминалось в лекции о квантовой механике, квантовый алгоритм представляет линейную трансформацию состояний в пространстве n-кубитов. Предположим, что мы хотим получить значения функции f (х) для . Предположим еще, что значения этой функции - это целые числа из n битов. Мы можем определить линейную трансформацию F в пространстве п-кубитов, которая трансформирует базисный вектор
в другой базисный вектор
. Тогда начальное состояние:
![\sum_{k=0}^{2^n-1}a_k|k\rangle](/sites/default/files/tex_cache/8355787f41cc4a2a74ed065753291ccd.png)
квантовый алгоритм F преобразует в состояние:
![\sum_{k=0}^{2^n-1}a_k|f(k) \rangle](/sites/default/files/tex_cache/98c1040169f835b336a00e18b95bf648.png)
Мы видим, что при выполнении квантового алгоритма появляется возможность получить состояние, включающее все значений функции f . Заметьте, что для классического компьютера цикл, содержащий
итераций не может быть выполнен за сколь либо разумное время (например, время возраста вселенной) даже для относительно малых значений n, например, n = 100. Отсюда следует, что квантовый компьютер допускает "массивные" вычисления, аналогов которым нет в вычислениях на классических компьютерах.