🔧 Що таке квантові вентилі
Визначення та відмінності від класичних вентилів
Квантові вентилі — це операції, що трансформують стани кубітів. Вони є фундаментальними будівельними блоками квантових обчислень.
Класичні вентилі: NOT, AND, OR, XOR виконують незворотні операції. Втрачають інформацію (AND з двома входами має один вихід).
Квантові вентилі: Завжди оборотні (унітарні), зберігають інформацію, можуть працювати з суперпозиціями, створюють заплутаність.
Унітарність: Квантові вентилі представляються унітарними матрицями U, де U†U = I. Це гарантує оборотність та збереження ймовірностей.
Лінійність: Квантові вентилі лінійні, що дозволяє їм працювати з суперпозиціями: U(α|0⟩ + β|1⟩) = αU|0⟩ + βU|1⟩.
Матричне представлення
Однокубітний вентиль: 2×2 унітарна матриця, що діє на вектор стану кубіта.
Багатокубітний вентиль: 2ⁿ×2ⁿ матриця для n кубітів. Розмір експоненційно зростає з кількістю кубітів.
Приклад: NOT вентиль (X) має матрицю [[0,1],[1,0]], що обмінює |0⟩ та |1⟩.
⚡ Однокубітні вентилі
Pauli вентилі
X вентиль (NOT): Обмінює |0⟩ та |1⟩. X|0⟩ = |1⟩, X|1⟩ = |0⟩. Матриця: [[0,1],[1,0]]. Обертає на 180° навколо осі X на Блоховій сфері.
Y вентиль: Y|0⟩ = i|1⟩, Y|1⟩ = -i|0⟩. Матриця: [[0,-i],[i,0]]. Обертає на 180° навколо осі Y.
Z вентиль (Phase flip): Z|0⟩ = |0⟩, Z|1⟩ = -|1⟩. Матриця: [[1,0],[0,-1]]. Обертає на 180° навколо осі Z. Змінює фазу, не змінюючи амплітуди.
Hadamard вентиль (H)
Дія: Створює рівномірну суперпозицію. H|0⟩ = (|0⟩ + |1⟩)/√2, H|1⟩ = (|0⟩ - |1⟩)/√2.
Матриця: [[1,1],[1,-1]]/√2.
Важливість: Один з найважливіших вентилів, часто використовується для початку алгоритмів, створюючи суперпозицію.
Властивість: H = H† (само-спряжений), H² = I (два застосування повертають до початкового стану).
Phase вентилі
S вентиль: S|0⟩ = |0⟩, S|1⟩ = i|1⟩. Матриця: [[1,0],[0,i]]. Обертає на 90° навколо осі Z.
T вентиль: T|0⟩ = |0⟩, T|1⟩ = e^(iπ/4)|1⟩. Матриця: [[1,0],[0,e^(iπ/4)]]. Обертає на 45° навколо осі Z.
Загальний Phase: P(φ)|0⟩ = |0⟩, P(φ)|1⟩ = e^(iφ)|1⟩. Вводить фазу φ.
Обертання
Rx(θ): Обертання на кут θ навколо осі X на Блоховій сфері.
Ry(θ): Обертання навколо осі Y.
Rz(θ): Обертання навколо осі Z.
Застосування: Дозволяють досягти будь-якого стану на Блоховій сфері, важливі для універсальності.
🔗 Багатокубітні вентилі
CNOT (Controlled-NOT)
Дія: Якщо control кубіт |1⟩, то NOT на target кубіті. Якщо control |0⟩, то target не змінюється.
Таблиця істинності: |00⟩ → |00⟩, |01⟩ → |01⟩, |10⟩ → |11⟩, |11⟩ → |10⟩.
Заплутаність: CNOT може створювати заплутані стани. Наприклад, CNOT(H|0⟩ ⊗ |0⟩) = (|00⟩ + |11⟩)/√2 — стан Белла.
Важливість: Один з найважливіших вентилів, використовується майже в усіх квантових алгоритмах.
Інші контрольовані вентилі
CZ (Controlled-Z): Якщо control |1⟩, то Z на target. CZ = CZ†, CZ² = I.
CY (Controlled-Y): Якщо control |1⟩, то Y на target.
CR (Controlled-Rotation): Загальний контрольований вентиль обертання.
Toffoli (CCNOT): Два control кубіти, один target. Універсальний для класичних обчислень.
SWAP та інші
SWAP: Обмінює стани двох кубітів. |ab⟩ → |ba⟩.
Реалізація: SWAP можна реалізувати через три CNOT: CNOT(a→b) CNOT(b→a) CNOT(a→b).
iSWAP: Узагальнення SWAP з фазовим фактором.
🌐 Універсальні набори вентилів
Що таке універсальність
Визначення: Набір вентилів є універсальним, якщо будь-яку квантову операцію можна реалізувати комбінацією цих вентилів з довільною точністю.
Приклад: {H, T, CNOT} є універсальним набором. Будь-яку унітарну операцію можна апроксимувати цими вентилями.
Кількість вентилів: Для n кубітів потрібно експоненційна кількість вентилів для точного представлення довільної операції, але для апроксимації достатньо поліноміальної.
Популярні універсальні набори
{H, T, CNOT}: Найпоширеніший універсальний набір. Використовується в більшості квантових мов програмування.
{H, S, CNOT}: Альтернативний набір, де S = T².
{Rx, Ry, Rz, CNOT}: Набір з обертаннями, що дозволяє досягти будь-якого стану.
{H, Phase, CNOT}: Інший варіант універсального набору.
📚 Гайд з прикладами
Приклад 1: Створення суперпозиції
Схема: H вентиль на |0⟩
Результат: H|0⟩ = (|0⟩ + |1⟩)/√2
Застосування: Початок більшості квантових алгоритмів, включаючи Grover та багато інших.
Приклад 2: Створення заплутаності
Схема: H на перший кубіт, потім CNOT (перший → другий)
Початковий стан: |00⟩
Процес: H|0⟩ ⊗ |0⟩ = (|0⟩ + |1⟩)/√2 ⊗ |0⟩, потім CNOT → (|00⟩ + |11⟩)/√2
Результат: Заплутаний стан Белла.
Приклад 3: Квантовий NOT
Схема: X вентиль
Дія: X|0⟩ = |1⟩, X|1⟩ = |0⟩
Властивість: X² = I (два застосування повертають до початкового стану).
Спробуйте наживо
Усе, що вище, працює прямо у вашому браузері — відкрийте Double-Slit Experiment і змінюйте параметри під час роботи. Нічого не встановлюється, нічого не завантажується на сервер, уся модель живе в одній вкладці.
▶ Відкрити симуляцію Double-Slit Experiment