Złożoność faktoringu w polach liczbowych

25

Co wiadomo na temat złożoności obliczeniowej liczb całkowitych faktoringu w ogólnych polach liczbowych? Dokładniej:

  1. Nad liczbami całkowitymi reprezentujemy liczby całkowite poprzez ich binarne rozszerzenia. Jakie są analogiczne reprezentacje liczb całkowitych w ogólnych polach liczbowych?
  2. Czy wiadomo, że pierwszeństwo nad polami liczbowymi ma postać P lub BPP?
  3. Jakie są najbardziej znane algorytmy faktorowania w polach liczbowych? (Wykonaj expn i (pozornie)expn1/3) algorytmy rozciągają się odZ?) Tutaj, faktoring odnosi się do znalezienia pewną reprezentację liczby (reprezentowany przeznbitów) jako produkt liczb pierwszych.
  4. Jaka jest złożoność znalezienia wszystkich faktoryzacji liczby całkowitej w polu liczbowym? Policzenia, ile ma różnych faktoryzacji?
  5. Ponad Z wiadomo, że przy podejmowaniu decyzji, czy dana liczba ma czynnik w przedziale [a,b] jest trudne dla NP. Czy poza pierścieniem liczb całkowitych w polach liczbowych może się zdarzyć, że ustalenie, czy istnieje czynnik główny, którego norma jest w określonym przedziale, jest już trudne NP?
  6. Czy faktoring w polach liczbowych w BQP?

Uwagi, motywacje i aktualizacje.

Oczywiście kluczowy jest tutaj fakt, że faktoryzacja nie jest unikalna dla pól liczbowych. Pytanie (szczególnie część 5) było motywowane tym postem na blogu nad GLL (patrz ta uwaga ), a także wcześniejszym pytaniem TCSexchange. Przedstawiłem to również na moim blogu, na którym Lior Silverman przedstawił dokładną odpowiedź .

Gil Kalai
źródło
czy możesz podać przykład? czym różni się faktoring w polach od faktoringu z całkowitą liczbą całkowitą?
vzn
2
Dla (0) Chyba zwykle pole numeru jest reprezentowany jako Q [ ξ ] /φ gdzie φ jest nierozkładalny wielomianu. Zatem element K jest krotką par ( ( n 0 , d 0 ) , ( n 1 , d 1 ) , , ( n δ - 1 , d δ - 1 ) ) gdzie δ = degKQ[ξ]/φφK((n0,d0),(n1,d1),,(nδ1,dδ1)) . Oznacza to, że twoim elementem jest n 0 / d 0 + n 1 ξ / d 1 + + n δ - 1 ξ δ - 1 / d δ - 1 . δ=deg(φ)n0/d0+n1ξ/d1++nδ1ξδ1/dδ1
Bruno,
2
@Gil Czy widziałeś już tę książkę? springer.com/mathematics/numbers/book/978-3-540-55640-4 W tej chwili nie mam dostępu do mojej kopii (chociaż wrócę za kilka dni i sprawdzę to). Chciałbym sprawdzić, czy coś jest napisane na temat faktoryzacji w (i) polach liczb algebraicznych lub (ii) domenach Dedekinda, o klasie klasy> 1.
Daniel Apon
4
@vzn: Bez wkładania słów w usta Gila jestem pewien, że ma na myśli skończone rozszerzenia racjonalności (dokładnie to, z czym się łączysz). Kiedy mówi „faktoring w takim polu”, jestem prawie pewien, że ma na myśli faktoring w pierścieniu liczb całkowitych takiego pola. Ta sama strona wikipedia, do której linkujesz, ma sekcję na pierścieniu liczb całkowitych w polu liczby algebraicznej.
Joshua Grochow
1
@vzn Sito z polem liczbowym używa pól liczbowych do obliczania liczb całkowitych.
Yuval Filmus

Odpowiedzi:

14

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(α)αfZ[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 aZ = 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.aOKpZaZ=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 | yaOKy=NQK(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.

Lior Silberman
źródło
5

Jak wspomniał Daniel, niektóre informacje można znaleźć w książce A Course in Computational Algebraic Number Theory ( link ).

W szczególności istnieje kilka sposobów przedstawiania elementów pól liczbowych. Niech być Pole numeru z φ stopnio n monic nieredukowalnego wielomianu Z [ ξ ] . Niech θ będzie dowolnym źródłem φ . Tak zwana standardowa reprezentacja elementu α K jest krotką ( a 0 , , a n - 1 , d )K=Q[ξ]/φφnZ[ξ]θφαK(a0,,an1,d)gdzie , d > 0 i gcd ( a 0 , , a n - 1 , d ) = 1 , tak że α = 1aiZd>0gcd(a0,,an1,d)=1

α=1di=0n1aiθi.
Bruno
źródło