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

Основи квантової механіки

Вступ

У наступному відео Олівія Лейнс проведе тебе крізь матеріал цього уроку. Або ж ти можеш відкрити відео на YouTube для цього уроку в окремому вікні.

У попередньому уроці ми навчились створювати заплутаний стан двох кубітів, відомий як "стан Белла". Коли ми вимірювали стан, ми побачили, що вимірювання двох кубітів були корельованими: коли один вимірювався як 0, інший також вимірювався як 0, а коли один був 1, інший також вимірювався як 1. Ми побачили, що це є ознакою квантової заплутаності. Сьогодні ми глибше зануримося в цей стан і в те, що він розкриває про квантову фізику, фундаментальну для квантових обчислень.

Стан Белла

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

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
from qiskit import QuantumCircuit

qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
qc.draw("mpl")

Зображення вище представляє квантову схему для створення стану Белла Φ+\vert\Phi^+\rangle. Дві чорні горизонтальні лінії представляють наші два кубіти, а прямокутники та інші символи на цих лініях представляють вентилі або операції, що виконуються на відповідних кубітах. Сіра подвійна лінія — це шина класичної інформації, яка дозволяє нам зберігати класичну інформацію, отриману при вимірюванні двох кубітів. Ми збираємося заглибитись у деталі цієї схеми та отриманого стану Белла, щоб зрозуміти основи квантових обчислень.

Математика квантових обчислень

Представлення квантового стану

По-перше, нам потрібна спільна мова для обговорення квантових станів і схем. Існує кілька різних способів представлення квантових станів. Перший — це нотація Дірака. У нотації Дірака стан виглядає так:

Φ+=12(00+11)\vert \Phi^+\rangle =\frac{1}{\sqrt{2}} ( \vert 00 \rangle + \vert 11 \rangle )

Тут стан записується всередині кутових дужок і вертикальних рисок. Два члени кожен представляють два можливі результати вимірювання стану. Отже, коли ми вимірюємо цей стан, ми або виявимо, що обидва кубіти перебувають у стані 0, або що обидва перебувають у стані 1. 12\frac{1}{\sqrt{2}} називається "константою нормування". Вона тут для того, щоб забезпечити, що сума квадратів кожного з коефіцієнтів у стані дорівнює 11. Чому це так, ми розглянемо пізніше, у розділі про вимірювання.

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

ϕ+=12(1001) .\vert\phi^+\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix} ~.

За домовленістю, елементи вектора впорядковані так:

  • Перший елемент відповідає двокубітному стану 00\vert00\rangle
  • Другий — 01\vert01\rangle
  • Третій — 10\vert10\rangle
  • Четвертий — 11\vert11\rangle

Як і очікувалось, у векторі стану Белла Φ+\vert\Phi^+\rangle перший та четвертий елементи ненульові, тоді як другий та третій елементи нульові. Константа нормування 1/21/\sqrt{2} забезпечує, що довжина вектора дорівнює 11.

Примітка щодо порядку кубітів

Qiskit використовує порядок little endian. Це означає, що крайній правий кубіт вважається першим (або найменш значущим) кубітом, а крайній лівий кубіт є найбільш значущим. Отже, коли ми записуємо стан на кшталт 01\vert01\rangle:

  • крайній правий біт відповідає кубіту 00 і перебуває в стані 1\vert1\rangle.
  • крайній лівий біт відповідає кубіту 11 і перебуває в стані 0\vert0\rangle.

Представлення вентилів

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

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

UψU |\psi\rangle

де UU представляє матрицю вентиля, а ψ|\psi\rangle — вектор стану.

Розглянемо вентиль Адамара як приклад. Вентиль Адамара — це однокубітний вентиль (червоний прямокутник з позначкою "H" на діаграмі схеми вище), який перетворює стан 0\vert0\rangle у 12(0+1)\frac{1}{\sqrt{2}}(\vert0\rangle+\vert1\rangle), а стан 1\vert1\rangle — у 12(01)\frac{1}{\sqrt{2}}(\vert0\rangle-\vert1\rangle). У матричній нотації Адамар виглядає так:

H=12(1111) .H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} ~.

Перевір своє розуміння

Використай множення матриць, щоб показати, що матриця Адамара перетворює стани, як очікується. (За потреби ти можеш дізнатись, як виконувати множення матриць.)

Answer
H0=12(1111)(10)=12(11) H |0\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix} ~\checkmarkH1=12(1111)(01)=12(11) H |1\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix} \begin{pmatrix} 0 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ -1 \end{pmatrix} ~\checkmark

Є кілька речей, які слід пам'ятати про матриці вентилів:

  1. Вони завжди квадратні матриці N×NN \times N, де NN також є розмірністю вектора стану, до якого вони застосовуються. Наприклад, якщо у тебе є лише один кубіт, вектор стану є двовимірним, представляючи два можливі стани 0 та 1 кубіта. У цьому випадку розмірності матриці вентиля, застосованого до цієї системи, будуть 2×22\times 2.
  2. Квантові вентилі є оборотними. Іншими словами, можна знайти іншу матрицю, яка є оберненою до вентиля і яка скасовує дію вентиля та повертає кубіти до їх початкового стану.
  3. Квантові вентилі також зберігають довжину векторів, які вони перетворюють. Вектори квантових станів завжди матимуть довжину 11 (що гарантується константами нормування, про які ми говорили раніше). Вентилі не видовжують і не вкорочують їх, а лише обертають.

Це всі властивості унітарних матриць. Якщо тебе цікавлять більше математичних властивостей унітарних матриць, ти можеш прочитати про них у уроці Джона Ватруса про множинні системи у курсі "Основи квантової інформації".

Як працюють вимірювання

Коли ми вимірюємо квантовий стан, результат завжди є одним із можливих результатів (для одного кубіта це або 0, або 1). Який результат ми отримаємо — випадково, але квантовий стан повідомляє нам ймовірності кожного результату.

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

ψ=12(11)=12(0+1),|\psi\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle),

перший елемент (відповідний 0) дорівнює 1/21/\sqrt{2}, а другий елемент (відповідний 1) також дорівнює 1/21/\sqrt{2}. Зведення цих чисел у квадрат дає

(12)2=12=0.5,\left(\frac{1}{\sqrt{2}}\right)^2 = \frac{1}{2} = 0.5,

що означає 50% ймовірність виміряти 0 і 50% ймовірність виміряти 1.

Нагадаємо, що сума всіх зведених у квадрат елементів завжди дорівнює 1. Це має сенс, тому що при вимірюванні ми гарантовано отримаємо якийсь результат, тому ймовірності всіх можливих результатів повинні в сумі давати 100%.

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

Вимірювання в різних базисах

За замовчуванням, коли ти вимірюєш кубіт у квантовій схемі, ти вимірюєш стан кубіта лише вздовж однієї осі. Це називається обчислювальним базисом, або базисом ZZ, який визначається станами 0\vert 0\rangle і 1\vert 1\rangle. Ти можеш уявити стан 0\vert 0\rangle як вектор, що вказує прямо вгору, а стан 1\vert 1\rangle — як вектор, що вказує прямо вниз. Отже, вимірювання в базисі ZZ відповідає на запитання: "Чи вказує стан кубіта вгору чи вниз?"

Але це не єдиний вид запитань, які ми можемо поставити кубіту. Вектор стану кубіта вказує не лише вгору або вниз. Суперпозиція 0\vert 0\rangle і 1\vert 1\rangle призведе до вектора стану, що вказує в будь-якому напрямку в тривимірному просторі — точний напрям залежить від відносних амплітуд та фаз двох частин суперпозиції. Отже, тоді як стандартне вимірювання в базисі ZZ запитує "вгору чи вниз?", ти також можеш запитати "ліворуч чи праворуч?" або "вперед чи назад?"

Ці запитання відповідають вимірюванням у різних базисах. Кожен базис має свій власний набір із двох базисних векторів, які визначають два можливих результати вимірювання в цьому базисі (наприклад, 0\vert 0\rangle або 1\vert 1\rangle для базису ZZ).

  • Результати вимірювання в базисі Z колапсують до 0\vert 0\rangle або 1\vert 1\rangle
  • Результати вимірювання в базисі X колапсують до +\vert +\rangle або \vert -\rangle
  • Результати вимірювання в базисі Y колапсують до i\vert i\rangle або i\vert -i\rangle

де

+=12(0+1)=12(01)i=12(0+i1)i=12(0i1)\begin{aligned} \lvert +\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle + \lvert 1\rangle) \\ \lvert -\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle - \lvert 1\rangle) \\ \lvert i\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle + i\lvert 1\rangle) \\ \lvert -i\rangle &= \frac{1}{\sqrt{2}}(\lvert 0\rangle - i\lvert 1\rangle) \end{aligned}

де i=1i=\sqrt{−1} — уявна одиниця. Тут ми вперше бачимо суперпозиції з різницею фаз між двома частинами. Фаза зазвичай записується як eiθe^{i\theta}, де θ\theta — кут амплітуди квантового стану в комплексній площині — двовимірній площині, де горизонтальна вісь представляє дійсні числа, а вертикальна — уявні. Ти можеш уявити це більш інтуїтивно як те, наскільки зміщена одна хвиля відносно іншої: чи збігаються їхні гребені, чи зміщена одна хвиля так, що її гребінь збігається з западиною іншої?

Матриці Паулі та спостережувані величини

Є три матриці, так звані матриці Паулі, які пов'язані з цими трьома різними вибірками базисів XX, YY та ZZ:

X=(0110),Y=(0ii0),Z=(1001).X = \begin{pmatrix} 0 & 1 \\ 1 & 0 \end{pmatrix}, \quad Y = \begin{pmatrix} 0 & -i \\ i & 0 \end{pmatrix}, \quad Z = \begin{pmatrix} 1 & 0 \\ 0 & -1 \end{pmatrix}.

Як саме вони пов'язані з базисами вимірювань? На перший погляд, вони виглядають як звичайні матриці вентилів — і вони є такими. Кожна матриця Паулі може діяти на кубіт і змінювати його стан:

  • Паулі-X перевертає 0|0\rangle і 1|1\rangle, як класичний вентиль NOT.
  • Паулі-Z залишає 0|0\rangle незмінним, але множить 1|1\rangle на 1-1, змінюючи відносну фазу.
  • Паулі-Y перевертає кубіт і вводить фазу.

Але матриці Паулі мають другу, однаково важливу інтерпретацію. У квантовій механіці будь-яка вимірювана величина називається спостережуваною, і спостережувані представляються матрицями. Матриці Паулі відповідають вимірюванням вздовж трьох різних осей, а їхні власні стани відповідають двом можливим результатам вимірювання вздовж кожної осі. (Якщо ти не знайомий із терміном "власний стан", це нормально — це просто спеціальні вектори, пов'язані з даною матрицею.)

  • ZZ → вимірювання в базисі Z (0|0\rangle, 1|1\rangle)
  • XX → вимірювання в базисі X (+|+\rangle, |-\rangle)
  • YY → вимірювання в базисі Y (i|i\rangle, i|-i\rangle)

Це пояснює, чому матриці Паулі, здається, виконують подвійну роль. Вони і діють на стани (як вентилі), і визначають напрями вимірювань (як спостережувані). Обидві ролі походять з однієї й тієї самої математики.

Отже, як на практиці виміряти в базисі X або Y? За замовчуванням наші квантові комп'ютери налаштовані лише для вимірювання в базисі Z. Тому потрібно змінити базис, обертаючи вектор стану кубіта таким чином, що інформація, яка тебе цікавить, або X, або Y, тепер вказує в напрямку Z. Потім ти просто виконуєш вимірювання в базисі Z, як зазвичай.

Наприклад, вимірювання в базисі X можна зробити, застосувавши вентиль Адамара, а потім виміривши в базисі Z. Адамар обертає стан так, що "X-інформація" стає "Z-інформацією". Після цього звичайне вимірювання виконує роботу.

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

Схема стану Белла

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

Ми починаємо з початкового стану двох кубітів у 00|00\rangle:

00=(1000)|00\rangle = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix}

Створення суперпозиції

Схема починається із застосування вентиля Адамара до кубіта 0. Як ми бачили в попередньому розділі, Адамар переводить кубіт із визначеного стану, або 0|0\rangle, або 1|1\rangle, в комбінацію обох цих станів. Нагадаємо, що вентиль Адамара є:

H=12(1111)H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}

Щоб застосувати його до першого кубіта в двокубітній системі, ми використовуємо розширену матрицю 4x4, яка застосовує HH до кубіта 0, залишаючи кубіт 1 незмінним. Уявляй це як "застосуй HH до першого кубіта і не чіпай другий":

H0=12(1100110000110011)H_0 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 & 0 & 0 \\ 1 & -1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & -1 \end{pmatrix}

Потім ми множимо це на вектор початкового стану:

H000=12(1100110000110011)(1000)=12(1100)=12(00+01)H_0 |00\rangle = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 & 0 & 0 \\ 1 & -1 & 0 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 1 & -1 \end{pmatrix} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}}(|00\rangle + |01\rangle)

Тепер кубіт 0 перебуває в стані суперпозиції.

Більше про квантову суперпозицію

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

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


Заплутування кубітів

Далі застосовується вентиль controlled-NOT (CNOT) (зображений у вигляді синьої точки, вертикальної лінії та кола зі знаком плюс, що з'єднують два кубіти). Цей вентиль заплутує два кубіти разом. Після цього кроку стан одного кубіта не може бути описаний незалежно від іншого.

Вентиль CNOT перевертає кубіт 1 (який називається цільовим кубітом) тільки якщо кубіт 0 (який називається керуючим кубітом) перебуває в стані 1\vert 1\rangle . Його матриця:

CNOT=(1000000100100100)\text{CNOT} = \begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix}

Застосуємо його до стану з Кроку 1:

(1000000100100100)12(1100)=12(1001)=12(00+11)\begin{pmatrix} 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 \end{pmatrix} \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 1 \\ 0 \\ 0 \end{pmatrix} = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix} = \frac{1}{\sqrt{2}}(|00\rangle + |11\rangle)

Тепер кубіти заплутані: вимірювання одного миттєво визначає інший.

Більше про квантову заплутаність

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

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

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

Нарешті, вимірюються обидва кубіти. Коли ми вимірюємо, квантовий стан колапсує до одного з класично дозволених станів:

  • 00 з імовірністю 1/22=0.5|1/\sqrt{2}|^2 = 0.5.
  • 11 з імовірністю 1/22=0.5|1/\sqrt{2}|^2 = 0.5.

Це відтворює корельовані результати вимірювань, які ми спостерігали в схемі в Уроці 1.

Висновок

У цьому уроці ми здійснили стрімку екскурсію по квантово-механічних концепціях і математичних інструментах, необхідних для впевненого та самостійного запуску квантових схем на квантовому комп'ютері. Ми ввели представлення квантових станів, розглянули як вентилі перетворюють ці стани, як працюють вимірювання, та як суперпозиція й заплутаність природно виникають із простих схем.

В Уроці 3 ми застосуємо ці ідеї на практиці, пройшовши повний робочий процес вирішення навчальної задачі на квантовому комп'ютері та інтерпретуючи результати.

Навчальна мета

Пригадай навчальну мету з Уроку 1, де ми запропонували тобі змінити схему для створення стану Белла Ψ\Psi^-. Тепер, використовуючи цю схему, пройди через матричну алгебру та підтверди, що твоя схема виробляє бажаний стан. (Підказка: тобі потрібно буде з'ясувати матричну форму вентиля NOT або X.)

This translation based on the English version of 7 трав. 2026 р.