Перейти до основного вмісту

Класична інформація

Щоб описати квантову інформацію та принципи її роботи, почнемо з огляду класичної інформації. Можна поставити закономірне питання: чому в курсі з квантової інформації приділяється стільки уваги класичній інформації? Але для цього є вагомі причини.

По-перше, хоча квантова та класична інформація різняться в деяких вражаючих аспектах, їхні математичні описи насправді дуже схожі. Класична інформація також слугує знайомою точкою відліку при вивченні квантової інформації, а також джерелом аналогій, які виявляються напрочуд корисними. Часто люди ставлять запитання про квантову інформацію, що мають природні класичні аналоги — і нерідко ці запитання мають прості відповіді, здатні прояснити та поглибити розуміння вихідних питань про квантову інформацію. Справді, цілком обґрунтованим є твердження, що неможливо по-справжньому зрозуміти квантову інформацію, не розуміючи класичної.

Деяким читачам матеріал цього розділу вже знайомий, іншим — ні, але виклад розрахований на обидві аудиторії. Крім акцентування на тих аспектах класичної інформації, що найбільш важливі для введення у квантову інформацію, цей розділ знайомить з нотацією Дірака, яка широко використовується для опису векторів і матриць у квантовій інформації та обчисленнях. Виявляється, нотація Дірака не є специфічною для квантової інформації: її можна так само добре застосовувати в контексті класичної інформації, а також у багатьох інших ситуаціях, де виникають вектори та матриці.

Класичні стани та вектори ймовірностей

Припустимо, що в нас є система, яка зберігає інформацію. Точніше, ми припускатимемо, що в кожен момент часу ця система може перебувати в одному з скінченної кількості класичних станів. Термін класичний стан слід розуміти в інтуїтивному сенсі: це конфігурація, яку можна однозначно розпізнати й описати.

Архетиповим прикладом, до якого ми повертатимемося неодноразово, є біт — система, класичними станами якої є 00 і 1.1. Інші приклади: стандартна шестигранна гральна кість, класичні стани якої — 1,1, 2,2, 3,3, 4,4, 5,5, і 66 (представлені відповідною кількістю крапок на верхній грані); нуклеотидна основа в ланцюжку ДНК, класичні стани якої — A, C, G і T; а також перемикач електричного вентилятора, класичні стани якого (зазвичай) — high (висока), medium (середня), low (низька) та off (вимк.). У математичному сенсі специфікація класичних станів системи є, по суті, відправною точкою: ми визначаємо біт як систему з класичними станами 00 і 1,1, і аналогічно — для систем з іншими наборами класичних станів.

Для зручності назвімо розглядувану систему X,\mathsf{X}, а символом Σ\Sigma позначимо множину класичних станів X.\mathsf{X}. Окрім вже згаданого припущення про скінченність Σ,\Sigma, ми природно припускаємо, що Σ\Sigma є непорожньою — адже для фізичної системи не мати жодних станів безглуздо. Хоча й має сенс розглядати фізичні системи з нескінченно багатьма класичними станами, ми залишимо цю можливість осторонь: вона, безумовно, цікава, але не стосується цього курсу. З цих причин, а також для стислості, надалі ми використовуватимемо термін множина класичних станів для позначення будь-якої скінченної непорожньої множини.

Ось кілька прикладів:

  1. Якщо X\mathsf{X} — біт, то Σ={0,1}.\Sigma = \{0,1\}. Цю множину зазвичай називають двійковим алфавітом.
  2. Якщо X\mathsf{X} — шестигранна кість, то Σ={1,2,3,4,5,6}.\Sigma = \{1,2,3,4,5,6\}.
  3. Якщо X\mathsf{X} — перемикач електровентилятора, то Σ={high,medium,low,off}.\Sigma = \{\mathrm{high}, \mathrm{medium}, \mathrm{low}, \mathrm{off}\}.

Коли ми розглядаємо X\mathsf{X} як носій інформації, різним класичним станам X\mathsf{X} можуть бути надані певні значення, що призводять до різних результатів або наслідків. У таких випадках може бути достатньо описати X\mathsf{X} як таку, що просто перебуває в одному зі своїх можливих класичних станів. Наприклад, якщо X\mathsf{X} — перемикач вентилятора, ми можемо точно знати, що він встановлений на high, і тоді вирішимо перемкнути його на medium.

Однак у задачах опрацювання інформації наші знання часто є неповними. Один зі способів представити наші знання про класичний стан системи X\mathsf{X} — зіставити ймовірності з її різними можливими класичними станами, формуючи те, що ми називатимемо імовірнісним станом.

Наприклад, нехай X\mathsf{X} — біт. Виходячи з того, що ми знаємо або очікуємо про попередню поведінку X,\mathsf{X}, ми можемо вважати, що X\mathsf{X} перебуває в класичному стані 00 з імовірністю 3/43/4, а в стані 11 — з імовірністю 1/4.1/4. Ці переконання можна виразити так:

Pr(X=0)=34іPr(X=1)=14.\operatorname{Pr}(\mathsf{X}=0) = \frac{3}{4} \quad\text{і}\quad \operatorname{Pr}(\mathsf{X}=1) = \frac{1}{4}.

Стисліший спосіб представити цей імовірнісний стан — стовпчиковий вектор.

(3414)\begin{pmatrix} \frac{3}{4}\\[2mm] \frac{1}{4} \end{pmatrix}

Ймовірність того, що біт дорівнює 0,0, розміщена у верхній частині вектора, а ймовірність стану 11 — у нижній, оскільки саме такий стандартний порядок для множини {0,1}.\{0,1\}.

Загалом, будь-який імовірнісний стан системи з довільною множиною класичних станів можна представити таким самим чином — як вектор ймовірностей. Ймовірності можна впорядкувати в будь-який спосіб, але зазвичай існує природний або стандартний порядок. Точніше, будь-який імовірнісний стан можна представити стовпчиковим вектором, що задовольняє двом властивостям:

  1. Усі елементи вектора є невід'ємними дійсними числами.
  2. Сума елементів дорівнює 1.1.

І навпаки, будь-який стовпчиковий вектор, що задовольняє цим двом властивостям, можна розглядати як представлення імовірнісного стану. Надалі ми будемо називати вектори такого вигляду векторами ймовірностей.

Поряд зі стислістю цього запису, ототожнення імовірнісних станів зі стовпчиковими векторами має ту перевагу, що операції над імовірнісними станами представляються через множення матриці на вектор, про що йтиметься далі.

Вимірювання імовірнісних станів

Тепер розглянемо, що відбувається, коли ми вимірюємо систему, що перебуває в імовірнісному стані. У цьому контексті вимірювання системи означає просто: ми дивимося на систему і однозначно розпізнаємо, в якому класичному стані вона перебуває. Інтуїтивно кажучи, ми не можемо «побачити» імовірнісний стан системи; дивлячись на неї, ми бачимо лише один із можливих класичних станів.

Вимірюючи систему, ми також можемо змінити наші знання про неї, і тому імовірнісний стан, який ми їй приписуємо, може змінитися. Тобто, якщо ми розпізнаємо, що X\mathsf{X} перебуває в класичному стані aΣ,a\in\Sigma, то новий вектор ймовірностей, що описує наші знання про стан X,\mathsf{X}, стає вектором зі значенням 11 у позиції, що відповідає a,a, і 00 в усіх інших позиціях. Цей вектор вказує, що X\mathsf{X} з певністю перебуває в класичному стані aa — що ми щойно і встановили — і позначається a,\vert a\rangle, що читається як «кет aa» з причини, яку ми пояснимо трохи пізніше. Вектори такого вигляду також називаються векторами стандартного базису.

Наприклад, якщо розглядувана система є бітом, вектори стандартного базису мають вигляд:

0=(10)і1=(01). \vert 0\rangle = \begin{pmatrix}1\\[1mm] 0\end{pmatrix} \quad\text{і}\quad \vert 1\rangle = \begin{pmatrix}0\\[1mm] 1\end{pmatrix}.

Зауваж, що будь-який двовимірний стовпчиковий вектор можна виразити як лінійну комбінацію цих двох векторів. Наприклад,

(3414)=340+141.\begin{pmatrix} \frac{3}{4}\\[2mm] \frac{1}{4} \end{pmatrix} = \frac{3}{4}\,\vert 0\rangle + \frac{1}{4}\,\vert 1\rangle.

Цей факт природно узагальнюється на будь-яку множину класичних станів: будь-який стовпчиковий вектор можна записати як лінійну комбінацію векторів стандартного базису. Саме в такому вигляді ми часто і будемо виражати вектори.

Повертаючись до зміни імовірнісного стану після вимірювання, відзначимо такий зв'язок з нашим повсякденним досвідом. Уяви, що підкидаємо монету, але накриваємо її, не дивлячись. Тоді ми скажемо, що її імовірнісний стан — це

(1212)=12heads+12tails.\begin{pmatrix} \frac{1}{2}\\[2mm] \frac{1}{2} \end{pmatrix} = \frac{1}{2}\,\vert\text{heads}\rangle + \frac{1}{2}\,\vert\text{tails}\rangle.

Тут множина класичних станів монети — {heads,tails}.\{\text{heads},\text{tails}\}. Обираємо порядок: спочатку «орел», потім «решка».

heads=(10)іtails=(01)\vert\text{heads}\rangle = \begin{pmatrix}1\\[1mm] 0\end{pmatrix} \quad\text{і}\quad \vert\text{tails}\rangle = \begin{pmatrix}0\\[1mm] 1\end{pmatrix}

Якби ми відкрили монету і подивилися на неї, то побачили б один із двох класичних станів: орел або решка. Припустимо, що виявилась решка — тоді ми природно оновили б опис імовірнісного стану монети до tails.|\text{tails}\rangle. Звісно, якби ми знову накрили монету, а потім відкрили і подивилися ще раз, класичний стан все одно був би решка — це узгоджується з тим, що імовірнісний стан описується вектором tails.|\text{tails}\rangle.

Це може здаватися тривіальним, і певною мірою так і є. Проте квантові системи поводяться цілком аналогічним чином, хоча їхні властивості вимірювання часто вважаються дивними чи незвичними. Встановлюючи аналогічні властивості класичних систем, ми робимо принципи роботи квантової інформації менш незвичними.

На завершення цього розгляду вимірювань імовірнісних станів — одне важливе зауваження: імовірнісні стани описують знання або переконання, а не обов'язково щось реальне, і вимірювання лише змінює наші знання, але не саму систему. Наприклад, стан монети після підкидання, але до погляду на неї, — це або орел, або решка — ми просто не знаємо, якийсаме, доки не подивимося. Побачивши, що класичний стан — решка, ми природно оновимо описовий вектор до tails,|\text{tails}\rangle, але для того, хто не бачив монету у момент відкриття, імовірнісний стан залишиться незмінним. Це не є приводом для занепокоєння: різні люди можуть мати різні знання або переконання щодо конкретної системи і тому описувати її різними векторами ймовірностей.

Класичні операції

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

Детерміновані операції

По-перше, існують детерміновані операції, де кожен класичний стан aΣa\in\Sigma перетворюється на f(a)f(a) для деякої функції ff вигляду f:ΣΣ.f:\Sigma\rightarrow\Sigma.

Наприклад, якщо Σ={0,1},\Sigma = \{0,1\}, існують чотири функції такого вигляду — f1,f_1, f2,f_2, f3f_3 і f4,f_4, — які можна представити таблицями значень:

af1(a)0010af2(a)0011af3(a)0110af4(a)0111\begin{array}{c|c} a & f_1(a)\\ \hline 0 & 0\\ 1 & 0 \end{array} \qquad \begin{array}{c|c} a & f_2(a)\\ \hline 0 & 0\\ 1 & 1 \end{array} \qquad \begin{array}{c|c} a & f_3(a)\\ \hline 0 & 1\\ 1 & 0 \end{array} \qquad \begin{array}{c|c} a & f_4(a)\\ \hline 0 & 1\\ 1 & 1 \end{array}

Перша і остання з цих функцій є константними: f1(a)=0f_1(a) = 0 і f4(a)=1f_4(a) = 1 для кожного aΣ.a\in\Sigma. Дві середні — не константні, вони збалансовані: кожне з двох вихідних значень зустрічається однакову кількість разів (по одному разу в цьому випадку) при перебиранні можливих вхідних значень. Функція f2f_2 є тотожною функцією: f2(a)=af_2(a) = a для кожного aΣ.a\in\Sigma. А f3f_3 — це функція f3(0)=1f_3(0) = 1 і f3(1)=0,f_3(1) = 0, відоміша під назвою функція NOT.

Дію детермінованих операцій на імовірнісні стани можна представити множенням матриці на вектор. Зокрема, матриця M,M, що представляє задану функцію f:ΣΣ,f:\Sigma\rightarrow\Sigma, — це та матриця, яка задовольняє умові

Ma=f(a)M \vert a \rangle = \vert f(a)\rangle

для кожного aΣ.a\in\Sigma. Така матриця завжди існує і однозначно визначається цією вимогою. Матриці, що представляють детерміновані операції, завжди мають рівно одну 11 у кожному стовпці, а всі інші елементи дорівнюють 0.0.

Наприклад, матриці M1,,M4,M_1,\ldots,M_4, що відповідають функціям f1,,f4f_1,\ldots,f_4 вище, такі:

M1=(1100),M2=(1001),M3=(0110),M4=(0011). M_1 = \begin{pmatrix} 1 & 1\\ 0 & 0 \end{pmatrix}, \hspace{4mm} M_2 = \begin{pmatrix} 1 & 0\\ 0 & 1 \end{pmatrix}, \hspace{4mm} M_3 = \begin{pmatrix} 0 & 1\\ 1 & 0 \end{pmatrix}, \hspace{4mm} M_4 = \begin{pmatrix} 0 & 0\\ 1 & 1 \end{pmatrix}.

Ось коротка перевірка правильності першої матриці. Три інші можна перевірити аналогічно.

M10=(1100)(10)=(10)=0=f1(0)M11=(1100)(01)=(10)=0=f1(1)\begin{aligned} M_1 \vert 0\rangle & = \begin{pmatrix} 1 & 1\\ 0 & 0 \end{pmatrix} \begin{pmatrix} 1\\ 0 \end{pmatrix} = \begin{pmatrix} 1\\ 0 \end{pmatrix} = \vert 0\rangle = \vert f_1(0)\rangle \\[4mm] M_1 \vert 1\rangle & = \begin{pmatrix} 1 & 1\\ 0 & 0 \end{pmatrix} \begin{pmatrix} 0\\ 1 \end{pmatrix} = \begin{pmatrix} 1\\ 0 \end{pmatrix} = \vert 0\rangle = \vert f_1(1)\rangle \end{aligned}

Зручний спосіб представлення матриць такого та інших виглядів використовує аналогічне позначення для рядкових векторів, яке ми вже розглядали для стовпчикових: ми позначаємо через a\langle a \vert рядковий вектор зі значенням 11 у позиції, що відповідає a,a, і нулями в усіх інших позиціях, для кожного aΣ.a\in\Sigma. Цей вектор читається як «бра a.a.»

Наприклад, якщо Σ={0,1},\Sigma = \{0,1\}, то

0=(10)і1=(01). \langle 0 \vert = \begin{pmatrix} 1 & 0 \end{pmatrix} \quad\text{і}\quad \langle 1 \vert = \begin{pmatrix} 0 & 1 \end{pmatrix}.

Для будь-якої множини класичних станів Σ\Sigma ми можемо розглядати рядкові та стовпчикові вектори як матриці і виконувати матричне множення ba.\vert b\rangle \langle a\vert. Отримаємо квадратну матрицю з 11 у позиції, що відповідає парі (b,a)(b,a) — тобто рядок відповідає класичному стану b,b, а стовпець — класичному стану a,a, — і 00 в усіх інших позиціях. Наприклад,

01=(10)(01)=(0100). \vert 0 \rangle \langle 1 \vert = \begin{pmatrix} 1\\ 0 \end{pmatrix} \begin{pmatrix} 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 1 \\ 0 & 0 \end{pmatrix}.

Використовуючи цю нотацію, матрицю M,M, що відповідає будь-якій заданій функції f:ΣΣ,f:\Sigma\rightarrow\Sigma, можна записати як

M=aΣf(a)a. M = \sum_{a\in\Sigma} \vert f(a) \rangle \langle a \vert.

Наприклад, розглянемо функцію f4f_4 вище, для якої Σ={0,1}.\Sigma = \{0,1\}. Отримаємо матрицю

M4=f4(0)0+f4(1)1=10+11=(0010)+(0001)=(0011).M_4 = \vert f_4(0) \rangle \langle 0 \vert + \vert f_4(1) \rangle \langle 1 \vert = \vert 1\rangle \langle 0\vert + \vert 1\rangle \langle 1\vert = \begin{pmatrix} 0 & 0\\ 1 & 0 \end{pmatrix} + \begin{pmatrix} 0 & 0\\ 0 & 1 \end{pmatrix} = \begin{pmatrix} 0 & 0\\ 1 & 1 \end{pmatrix}.

Причина, чому це працює, така. Якщо знову розглядати вектори як матриці і цього разу обчислити добуток ab,\langle a \vert \vert b \rangle, отримаємо матрицю 1×1,1\times 1, яку можна трактувати як скаляр (тобто число). Для стислості запишемо цей добуток як ab\langle a \vert b\rangle замість ab.\langle a \vert \vert b \rangle. Цей добуток задовольняє простій формулі:

ab={1a=b0ab. \langle a \vert b \rangle = \begin{cases} 1 & a = b\\[1mm] 0 & a \neq b. \end{cases}

Використовуючи це спостереження разом із асоціативністю та лінійністю матричного множення, отримаємо

Mb=(aΣf(a)a)b=aΣf(a)ab=f(b), M \vert b \rangle = \Biggl( \sum_{a\in\Sigma} \vert f(a) \rangle \langle a \vert \Biggr) \vert b\rangle = \sum_{a\in\Sigma} \vert f(a) \rangle \langle a \vert b \rangle = \vert f(b)\rangle,

для кожного bΣ,b\in\Sigma, що і є саме тим, чого ми вимагаємо від матриці M.M.

Як ми детальніше обговоримо в одному з наступних уроків, ab\langle a \vert b \rangle можна також розглядати як скалярний добуток між векторами a\vert a\rangle і b.\vert b\rangle. Скалярні добутки надзвичайно важливі у квантовій інформації, але їхнє обговорення ми відкладемо до того моменту, коли вони знадобляться.

На цьому місці стають очевидними назви «бра» і «кет»: поєднання «бра» a\langle a\vert з «кетом» b\vert b\rangle дає «дужку» («bracket») ab.\langle a \vert b\rangle. Ця нотація та термінологія запроваджені Полем Діраком і тому відома як нотація Дірака.

Імовірнісні операції та стохастичні матриці

Окрім детермінованих операцій, існують імовірнісні операції.

Наприклад, розглянемо таку операцію над бітом. Якщо класичний стан біта — 0,0, він залишається незмінним; якщо класичний стан — 1,1, його перевертають: він стає 00 з імовірністю 1/21/2 і залишається 11 з імовірністю 1/2.1/2. Ця операція представляється матрицею

(112012). \begin{pmatrix} 1 & \frac{1}{2}\\[1mm] 0 & \frac{1}{2} \end{pmatrix}.

Правильність цієї матриці можна перевірити, помноживши на неї два вектори стандартного базису.

Для довільної множини класичних станів множину всіх імовірнісних операцій у математичних термінах можна описати як ті, що представляються стохастичними матрицями — матрицями, що задовольняють двом властивостям:

  1. Всі елементи є невід'ємними дійсними числами.
  2. Сума елементів у кожному стовпці дорівнює 1.1.

Еквівалентно, стохастичні матриці — це матриці, всі стовпці яких є векторами ймовірностей.

Імовірнісні операції на інтуїтивному рівні можна сприймати як такі, де під час виконання операції якимось чином використовується або вводиться випадковість — так само, як у наведеному вище прикладі. Щодо опису імовірнісної операції через стохастичну матрицю: кожен стовпець можна розглядати як векторне представлення імовірнісного стану, що генерується для класичного стану, якому відповідає цей стовпець.

Стохастичні матриці можна також охарактеризувати як саме ті матриці, що завжди відображають вектори ймовірностей у вектори ймовірностей. Тобто стохастичні матриці завжди переводять вектори ймовірностей у вектори ймовірностей, і будь-яка матриця, що завжди переводить вектори ймовірностей у вектори ймовірностей, є стохастичною.

Нарешті, ще один спосіб думати про імовірнісні операції — це розглядати їх як випадковий вибір з детермінованих операцій. Наприклад, операцію з наведеного прикладу можна сприйняти як застосування або тотожної функції, або константної функції 0 — кожна з імовірністю 1/2.1/2. Це узгоджується з рівністю

(112012)=12(1001)+12(1100). \begin{pmatrix} 1 & \frac{1}{2}\\[1mm] 0 & \frac{1}{2} \end{pmatrix} = \frac{1}{2} \begin{pmatrix} 1 & 0\\[1mm] 0 & 1 \end{pmatrix} + \frac{1}{2} \begin{pmatrix} 1 & 1\\[1mm] 0 & 0 \end{pmatrix}.

Такий розклад завжди можливий для довільної множини класичних станів і будь-якої стохастичної матриці, рядки і стовпці якої індексовані цією множиною.

Композиція імовірнісних операцій

Нехай X\mathsf{X} — система з множиною класичних станів Σ,\Sigma, а M1,,MnM_1,\ldots,M_n — стохастичні матриці, що представляють імовірнісні операції над системою X.\mathsf{X}.

Якщо першу операцію M1M_1 застосувати до імовірнісного стану, представленого вектором ймовірностей u,u, отриманий імовірнісний стан представляється вектором M1u.M_1 u. Якщо потім застосувати другу імовірнісну операцію M2M_2 до цього нового вектора ймовірностей, отримаємо вектор ймовірностей

M2(M1u)=(M2M1)u. M_2 (M_1 u) = (M_2 M_1) u.

Рівність випливає з того, що матричне множення (яке включає множення матриці на вектор як частковий випадок) є асоціативною операцією. Отже, імовірнісна операція, отримана композицією першої та другої імовірнісних операцій (де спочатку застосовується M1,M_1, а потім M2M_2), представляється матрицею M2M1,M_2 M_1, яка є стохастичною.

Більш загально, композиція імовірнісних операцій, представлених матрицями M1,,MnM_1,\ldots,M_n у такому порядку (тобто M1M_1 застосовується першою, M2M_2 — другою, і так далі, MnM_n — останньою), представляється матричним добутком

MnM1. M_n \,\cdots\, M_1.

Зауваж, що порядок тут важливий: хоча матричне множення асоціативне, воно не є комутативним. Наприклад, якщо

M1=(1100)іM2=(0110), M_1 = \begin{pmatrix} 1 & 1\\[1mm] 0 & 0 \end{pmatrix} \quad\text{і}\quad M_2 = \begin{pmatrix} 0 & 1\\[1mm] 1 & 0 \end{pmatrix},

то

M2M1=(0011)іM1M2=(1100). M_2 M_1 = \begin{pmatrix} 0 & 0 \\[1mm] 1 & 1 \end{pmatrix} \quad\text{і}\quad M_1 M_2 = \begin{pmatrix} 1 & 1\\[1mm] 0 & 0 \end{pmatrix}.

Тобто порядок, у якому виконується композиція імовірнісних операцій, має значення: зміна порядку застосування операцій у композиції може змінити результуючу операцію.