Ця класична післяобробка використовує декілька теоретичних властивостей абелевих груп нетривіальної групи. Я написав дидактичне пояснення того, як працює цей класичний алгоритм [1] ; інші хороші джерела, про які варто прочитати, є [ 2 , 3 , 4 ].
Отже, вимірювання в кінці алгоритму на стандартній основі дасть вам елементи рівномірно випадково. Не важко перевірити, що множина H ∗ - (кінцева абелева) підгрупа групи символів G ∗ ; завдяки, після кругових вимірювань O ( log | G | ), генеруючий набір H ∗ отримується з вірогідністю, експоненціально близькою до одиниці.H∗H∗G∗O(log|G|)Н∗
Найбільш технічна частина полягає в тому, як реконструювати заданим генеруючим набором H ∗ . Давайте зараз зосередимося на цій проблемі. Для цього нам знадобляться деякі зачатки з теорії характерів.НН∗
Теорія характерів
Перш за все, пам’ятайте, що, коли є кінцевим абелевим, символи утворюють групу, ізоморфну G, і що їх можна записати як
χ g ( h ) = exp ( 2 π i m ∑ i = 1 g ( i ) h ( i )ГГ
Міткагперсонажахгє елементомG. Картаg→χgвизначає ізоморфізм міжG∗таG, щоб ми могли ідентифікувати обидві групи.
χг( h ) = досвід( 2 πi ∑i = 1мг( i ) h ( i )гi) .
гχгГг→ χгГ∗Г
Тепер, з огляду на , безліч H * Ви описуєте каллу в ортогональної підгрупі Н або, в залежності від джерела, в аннулятор H . Ця підгрупа має деякі важливі математичні властивості:НН∗НН
Перш за все, також є підгрупою G ;Н∗Г
Це подвійне до , в тому сенсі , що, якщо ми розглянемо подвійний аннуляторний підгрупу H * * ця підгрупа ізоморфна
Н : тобто, H ≅ H * * . Це гарантує, що розв’язки системи рівнянь χ g ( h ) = 1 ,НН∗ ∗НН≅Н∗ ∗
є саме елементи підгрупи H , що ви хочете.
χг( h ) = 1 , на кожну г∈ H∗
Н
Лінійні рівняння для груп
Тепер ключовим спостереженням, яке ми можемо скористатись, є наступне (я дотримуватимусь [1] цієї частини): колишні системи рівнянь можуть бути переписані як " система лінійних рівнянь над кінцевими абелевими групами ". Під цим я маю на увазі проблему, де вхідні дані для кінцевих абелевих груп , Y ; елемент b ∈ Y ; груповий гомоморфізм α : X → Y і завдання полягає у пошуку розв’язків рівняння α ( x ) = b Ви можете показати, що будь-які гомоморфізми можна записати як матрицю AХYb ∈ Yα : X→ Y
α ( x ) = b
А, таким чином, що вищезазначена задача може бути повторно виражена як
де будемо вважати
Y=Zd 1 ×⋯×Zd m .
А х = ⎛⎝⎜⎜⎜⎜а1( 1 )а1( 2 )⋮а1( м )а2( 1 )а2( 2 )⋮а2( м )⋯⋯⋯⋯ан( 1 )ан( 2 )⋮ан( м )⎞⎠⎟⎟⎟⎟⎛⎝⎜⎜⎜⎜х ( 1 )х ( 2 )⋮x ( n )⎞⎠⎟⎟⎟⎟= ⎛⎝⎜⎜⎜⎜б ( 1 )б ( 2 )⋮б ( м )⎞⎠⎟⎟⎟⎟модг1модг2⋮модгм= b
Y= Zг1× ⋯ × Zгм
х0+ kerαх0kerααХkerα переписати систему майже в діагональній формі (необхідні деякі інші проміжні кроки, але це має дати вам інтуїтивну картину).
НΩ x = 0ΩΩ