Наступна відповідь спочатку була розміщена як коментар у блозі Гіла
(1) Нехай - числове поле, де будемо вважати, що α має монічний мінімальний многочлен f ∈ Z [К= Q ( α )α . Тоді можна представити елементи кільця цілих чисел O K як многочлени в αf∈ Z [ x ]ОКα або з точки зору інтегральної основи - два еквівалентні.
Тепер, фіксуючи як у (1), існує скорочення поліноміального часу від задачі над KКК задачі в . Для того, щоб переконатися в тому , що обчислення (наприклад , пересічні ідеал з Z або факторизации многочлена по модулю р ) може бути зроблено за поліноміальний час побачити книгу Коена , згадані в попередній відповіді.QZp
Як попередня обчислення для кожного раціонального простого ділить дискримінант α (тобто дискримінантpα ), знайдіть усі праймери O K, що лежать вище p .fОКp
(2) Для тесту на первинність заданий ідеал нехай p ∈ Z такий, що a ∩ Z = p Z (це можна обчислити в поліноміальний час, а кількість біт p є поліномом на вході). Перевірте в поліном час, чи p є простим. Якщо ні, то a не є простим. Якщо так, то знайдіть праймери O K, що лежать вище p, або з попереднього обчислення, або шляхом факторингу f mod p . У будь-якому випадку, якщо a є простим, він повинен бути одним з цих праймерів.a ◃ OКp ∈ Za ∩ Z =p ZppаОКpfpа
(3a), (6a) Для розбиття факторів , задані ідеалом a ◃ O K, знаходять свою норму y = N K Q ( a ) = [ O K : a ] . Знову це можна знайти в поліномічний час і, отже, не надто багато. Коефіцієнт y в Z (класично або використовуючи алгоритм Шор, залежно від потрібного скорочення). Це дає перелік раціональних простих чисел, що ділить y , і, отже, як у 2, ми можемо знайти список простих простих чисел Oa ◃ OКу= NКQ( а ) = [ ОК: a ]уZу ділить y . так | ОКу це дає список простих чисел, що ділять a . Нарешті, легко визначити той показник, на який прем'єр поділяє даний ідеал.а | уОКа
(3b), (6b) Але Гіл хоче розподілити фактори на невідтворювані, а не на праймери. Виявляється, що , з огляду на прості множники числа можна ефективно побудувати одну розкладання й на Непріводімие елементи O K . Для цього нехай h K - номер класу, і зауважте, що можна ефективно обчислити ідеальний клас даного ідеалу. Тепер знайти невідворотний дільникх ОКхОКгодК виділити h K простих ідеалів (можливо, з повторенням) з факторизації xхгодКх. За принципом «голуби-нори» деякий підмножина множиться на ідентичність у групі класів; знайти мінімальний такий підмножина Потім його продукт є головним ідеалом, породженим невідводимим елементом. Розділіть на цей елемент, вилучіть із факторизації відповідні ідеали та повторіть. Якщо факторизація має менше, ніж h K елементів, то просто візьміть мінімальну підмножину всіх факторів.хгодК
(4) Я думаю, що можна перерахувати факторизацію на непридатні, але це трохи додаткової комбінаторики - будь ласка, дайте мені час на це. З іншого боку, визначення їх усіх не є цікавим у контексті алгоритмів субекспоненціальної факторизації, оскільки загалом експоненціально багато таких факторізацій.
(5) Я поняття не маю.