Poniższa odpowiedź została pierwotnie opublikowana jako komentarz na blogu Gila
(1) Niech będzie polem liczbowym, w którym zakładamy, że α ma monomiczny minimalny wielomian f ∈ Z [ x ] . Następnie można reprezentować elementy pierścienia liczb całkowitych O K jako wielomianów w α lub w kategoriach integralnej podstawy - oba są równoważne.K=Q(α)αf∈Z[x]OKα
Teraz mocowania jak w (1) jest wielomianem zmniejszenie czasu problem polegający na K problemu w Q . Aby sprawdzić, czy obliczenia (np. Przecięcie ideału z Z lub faktoring modu wielomianowego p ) można wykonać w czasie wielomianowym, zobacz książkę Cohena, o której mowa w poprzedniej odpowiedzi.KKQZp
Jako wstępne obliczenie dla każdej racjonalnej liczby pierwszej dzielącej dyskryminator α (czyli dyskryminatora f ) znajdź wszystkie liczby pierwsze O K leżące powyżej p .pαfOKp
(2) W przypadku testowania pierwotności, dla idealnej niech p ∈ Z będzie takie, że a ∩ Z = p Z (można to obliczyć w czasie wielomianowym, a liczba bitów p jest wielomianowa na wejściu). Sprawdź w czasie wielomianowym, czy p jest liczbą pierwszą. Jeśli nie, to a nie jest liczbą pierwszą. Jeśli tak, to znajdź liczby pierwsze O K leżące powyżej p albo na podstawie wstępnego obliczenia, albo przez uwzględnienie f mod p . W każdym razie, jeśli a jest liczbą pierwszą, musi być jedną z tych liczb pierwszych.a◃OKp∈Za∩Z=pZppaOKpfpa
(3a), (6a) Dla faktoryzacji w liczbach pierwszych, dla idealnego znajdź jego normę y = N K Q ( a ) = [ O K : a ] . Znów można to znaleźć w czasie wielomianowym, a zatem nie jest zbyt duże. Współczynnik y w Z (klasycznie lub przy użyciu algorytmu Shora, w zależności od żądanej redukcji). Daje to listę racjonalnych liczb pierwszych dzielących y , a zatem, podobnie jak w 2, możemy znaleźć listę liczb pierwszych O K dzielących y . Od | ya◃OKy=NKQ(a)=[OK:a]yZyOKy daje to listę liczb pierwszych dzielących a . Wreszcie łatwo jest wyznaczyć wykładnik, do którego liczba pierwsza dzieli dany ideał.a|yOKa
(3b), (6b) Ale Gil chce faktoryzacji w nieredukowalne, a nie w liczbach pierwszych. Okazuje się, że ze względu na czynniki pierwsze można budować efektywnie jeden faktoryzacji X w nieredukowalnych elementów O K . W tym celu niech h K będzie numerem klasy i zwróć uwagę, że można skutecznie obliczyć idealną klasę danego ideału. Teraz, aby znaleźć nieredukowalny dzielnik x, wybierz h podstawowe ideały K (ewentualnie z powtórzeniem) z faktoryzacji xxOKxOKhKxhKx. Zgodnie z zasadą szufladki pewien podzbiór tych mnoży się do tożsamości w grupie klasowej; znajdź minimalny taki podzbiór. Jego produkt jest wówczas głównym ideałem generowanym przez element nieredukowalny. Podziel przez ten element, usuń odpowiednie ideały z faktoryzacji i powtórz. Jeśli rozkład na czynniki ma mniej niż h K elementów, wystarczy wziąć minimalny podzbiór wszystkich czynników.xhK
(4) Myślę, że można policzyć faktoryzacje na nieredukowalne, ale jest to trochę dodatkowa kombinatoryka - proszę dać mi czas na wypracowanie tego. Z drugiej strony ustalenie ich wszystkich nie jest interesujące w kontekście algorytmów faktoryzacji sub wykładniczej, ponieważ generalnie istnieje wiele wykładniczo takich faktoryzacji.
(5) Nie mam pojęcia.