Я пропоную розглянути протоколи оцінки власного значення / власного вектора. Існує велика гнучкість, щоб зробити проблему такою простою або такою важкою, як вам хочеться.
Почніть з вибору двох параметрів, n і k. Ви хочете розробитиn-кабітна унітарна, U що має власні значення форми e−2πiq/2k для цілих чисел q. Переконайтеся, що принаймні одна з цих власних цінностей є унікальною, і назвіть їїω. Також переконайтеся, що, наприклад, простий стан продукту|0⟩⊗n, має ненульове перекриття власним вектором власного значення ω.
Метою було б втілити в життя алгоритм оцінки фази з урахуванням значення k, і на нього покладено завдання вивести вектор |ψ⟩ тобто власний вектор, відповідний власній величині ω. Загалом це буде складати схемуn+k кубіти (якщо вам не потрібні додаткові пристрої для впровадження контрольованих дій,U).
Це працює так:
створили два регістри, один із k кубіти та ін nкубіти. ( використання квантових регістрів )
кожен кубіт ініціалізується в штаті |0⟩. ( ініціалізація квантових регістрів )
застосувати Адамард до кожного кубіта в першому регістрі ( одноквартитні ворота )
з кубіта r у першому реєстрі застосувати контрольовані-U2r, орієнтований на другий реєстр ( багатоквартирні керовані ворота )
застосувати зворотне перетворення Фур'є до першого регістра і виміряти кожен кубіт першого регістра на стандартній основі. Їх можна комбінувати, реалізуючи напівкласичну трансформацію Фур'є . ( вимірювання та передача класичних даних )
для правильного результату вимірювання другий регістр знаходиться в бажаному стані |ψ⟩.
Для простоти ви можете вибрати n=2, k=1, тож вам потрібна 4×4 унітарна матриця з власними значеннями ±1. Я б використовував щось подібне
(U1⊗U2)C(U†1⊗U†2),
де
Cпозначає контрольовану-НЕ. Існує лише один власний вектор з власним значенням -1, який є
|ψ⟩=(U1⊗U2)|1⟩⊗(|0⟩−|1⟩)/2–√, і ви можете возитися з вибором
U1 і
U2 вивчити реалізацію
Uвикористовуючи декомпозицію з точки зору універсального набору воріт (я, мабуть, поставив би це як попередню проблему). Потім, під контролем-
Uлегко реалізується лише шляхом заміни контрольованого НЕ на контрольований контрольований НЕ (Toffoli) затвор. Нарешті, обернене перетворення Фур'є - це лише ворота Адамара.
Щось трохи складніше, покладіть k=3, і замінити C з квадратним коренем воріт своп,
⎛⎝⎜⎜⎜⎜⎜1000012√i2√00i2√12√00001⎞⎠⎟⎟⎟⎟⎟
with
ω=e±iπ/4 and
|ψ⟩=(U1⊗U2)(|01⟩±|10⟩)/2–√.