Коротка відповідь
Квантові комп’ютери можуть запускати підпрограми алгоритму факторингу, експоненціально швидше, ніж будь-який відомий класичний аналог. Це не означає, що класичні комп’ютери НЕ МОЖЕ робити це теж швидко, ми просто не знаємо на сьогодні спосіб класичних алгоритмів працювати так само ефективно, як квантові алгоритми
Довга відповідь
Квантові комп’ютери добре справляються з дискретними перетвореннями Фур'є. Тут багато в грі, яка не захоплена просто " це паралельно " або " це швидко ", тому давайте потрапимо в кров звіра.
Проблема факторингу полягає в наступному: З огляду на число де p , q є простими числами, як відновити p і q ? Один із підходів - зазначити наступне:N=pqp,qpq
Якщо я дивлюся на число , то або x поділяє спільний множник з N , або він не відповідає.xmodNxN
Якщо поділяє загальний множник, а не є кратним самому N , то ми можемо легко запитати, які спільні фактори x і NxNxN (через алгоритм Евкліда для найбільших загальних факторів).
Тепер не так очевидний факт: безліч всіх , які не поділяють загальний фактор з N утворює мультипликативную групу моди N . Що це означає? Визначити групу у Вікіпедії можна тут . Нехай групова операція буде множенням, щоб заповнити деталі, але все, що нас насправді хвилює, це наступний наслідок тієї теорії, яка: послідовністьxNmodN
x0modN,x1modN,x2modN,...
періодично, коли не ділиться загальними факторами (спробуйте x = 2 , N = 5 ), щоб побачити це з перших рук як:x,Nx=2N=5
1mod5=1,4mod5=4,8mod5=3,16mod5=1.
Тепер скільки природних чисел менше ніж N не поділяють жодних загальних факторів з N ? На що відповідає тотієнтська функція Ейлера , це ( p - 1 ) ( q - 1 )xNN(p−1)(q−1) .
Нарешті, постукуючи предметом теорії груп, довжиною ланцюгів, що повторюються
x0modN,x1modN,x2modN,...
ділить це число . Тож якщо ви знаєте період послідовностей потужностей x N(p−1)(q−1) тоді ви можете почати складати здогадки про те, що таке ( p - 1 ) ( q - 1 ) . Крім того, якщо ви знаєте, що таке ( p - 1 ) ( q - 1 ) , а що p q (це N не забудьте!), То у вас є 2 рівняння з 2 невідомими, які можна розв’язати за допомогою елементарної алгебри до окремо p , q .xNmod5(p−1)(q−1)(p−1)(q−1)pqp,q
Де беруться квантові комп'ютери? Знаходження періоду. Існує операція під назвою перетворення Фур'є, яка приймає функцію записану як суму періодичних функцій a 1 e 1 + a 2 e 2 . . . де я це числа, е я є періодичними функціями з періодом р я і відображає його на нову функцію F , такі , що F ( р я ) = а I .ga1e1+a2e2...aieipif^f^(pi)=ai
Обчислення перетворення Фур'є зазвичай вводиться як інтеграл, але коли ви хочете просто застосувати його до масиву даних (I- й елемент масиву є ), ви можете використовувати цей інструмент під назвою дискретна трансформація Фур'єf(I) який становить перемножувати свій "масив", як би вектором, на дуже велику унітарну матрицю.
Наголос на слові унітарна: це дійсно довільне властивість, описане тут . Але ключовим виводом є наступне:
У світі фізики всі оператори підкоряються одному загальному математичному принципу: унітарність .
Отже, це означає, що повторювати операцію матриці DFT як квантового оператора нерозумно.
Тепер ось, де він стає глибоким, Qubit Array може представляти 2 nn2n можливих елементів масиву (зверніться до будь-якої мережі Інтернету для пояснення цього чи залиште коментар).
І аналогічно, квантовий оператор Qubit може діяти на цілому 2 n квантовому просторі і давати відповідь, яку ми можемо інтерпретувати.n2n
Дивіться цю статтю у Вікіпедії для більш детальної інформації.
Якщо ми можемо зробити це перетворення Фур'є на експоненціально великому наборі даних, використовуючи лише Qubits, тоді ми можемо знайти період дуже швидко.n
(p−1)(q−1)
N=pqp,q
Ось що тут відбувається, на дуже високому рівні.