A∥A∥AAϵ
O(logc1ϵ)
c<4
Перша частина:
наближення вводить помилку, яка поширюватиметься та накопичуватиметься за довгих обчислень
Ну, за індукцією можна показати, що помилки, що накопичуються за допомогою однієї матриці для наближення до іншої, є недодатковою (див. Примітки до лекцій Ендрю Чайлда ). Тобто для унітарних матриць та , .UiVi∥Ui−Vi∥<ϵ∀i∈{1,2,…,t}⟹∥Ut…U2U1−Vt…V2V1∥≤tϵ
Що означає це з точки зору реалізації, це те, що для досягнення загальної помилки, що не перевищує , кожен затвор повинен бути наближений до , абоϵϵ/t
застосовуючи наближення до схеми в цілому
це те саме, що застосувати наближення до кожного окремого затвора, кожне з індивідуальною помилкою не більше, ніж у всій схемі, поділеній на кількість воріт, які ви наближаєте.
З точки зору синтезу воріт, алгоритм виконується шляхом взяття продуктів набору воріт для формування нового набору воріт який утворює для (для будь-який ). Починаючи з ідентичності, новий унітар рекурсивно знайдений з нового набору воріт, щоб отримати більш щільну сітку навколо цільової унітари. Як не дивно, час для класичного алгоритму для виконання цієї операції також є , який є субполіномним часом. Однак , за перΓΓ0ϵ2SU(d)A∈SU(d),∃U∈Γ0s.t.∥A−U∥≤ϵ2O(polylog1/ϵ)Харроу, Рехт, Чуанг , в -розміри, як куля радіуса навколо має об'єм , це масштабується експоненціально в для нефіксованого числа розмірів.dϵSU(d)∝ϵd2−1d2
Це впливає на час остаточного розрахунку. Однак, оскільки масштабування і в кількості воріт, і в класичній обчислювальній складності є субполіномальним, це не змінює клас складності будь-якого алгоритму, принаймні для загальновизнаних класів.
Для воріт загальна складність (час і ворота) тодіt .
O(tpolylogtϵ)
При використанні моделі унітарних схем без посередницьких вимірювань кількість затворів, які потрібно реалізувати, буде завжди відома до обчислення. Однак можна припустити, що це не той випадок, коли використовуються посередницькі вимірювання, тож коли кількість воріт, які ви хочете наблизити, невідома, це говорить про те, що невідомо. і якщо ви не знаєте, що таке , ви, очевидно, не можете наблизити кожен затвор до помилки . Якщо ви знаєте обмеження на кількість воріт (скажімо, ), тоді ви можете наблизити кожен хвірт до щоб отримати загальну помилкуttϵ/ttmaxϵ/tmax≤ϵ та складність хоча якщо немає верхньої межі числа Відомості про ворота відомі , тоді кожний затвор буде наближений до деякого (меншого) , даючи загальну помилку для отриманої кількості реалізованих воріт (що невідомо на початку) , з загальна складність
O(tpolylogtmaxϵ),
ϵ′≤t′ϵt′O(t′polylog1ϵ′).
Звичайно, загальна помилка це по - , як і раніше обмежена, тому один простий 1 спосіб тримати помилку , обмежену б зменшити помилку кожен раз , коли на коефіцієнт, скажімо, , так що затвора буде реалізовано з помилкою . Складність буде тоді дає загальну (тепер поліномічну) складність хоча це має перевагу гарантувати обмежену помилку.2nthϵ/2n
O(polylog2nϵ′)=O(polynlog1ϵ′),
O(polytlog1ϵ),
Це не так вже й погано, тому я би сподівався, що (коли кількість воріт невідома) класичні комп'ютери зможуть продовжувати придумувати правильні ворота принаймні так швидко, як потрібен їм квантовий процесор. Якщо ні зараз, то, сподіваємось, раз квантові процесори стануть досить хорошими, що це насправді стає проблемою!
1 Хоча, ймовірно, не найефективніше