다음 답변은 원래 Gil의 블로그에 대한 주석으로 게시되었습니다.
(1)하자 K = Q ( α는 ) 우리가 가정하는 경우, 다수의 필드 수 α는 MONIC 최소 다항식 갖는다 F ∈ Z [ X ]가 . 한 후 정수 링 요소 나타낼 수 O K 의 다항식 등의 α 또는 정수 기준의 관점에서이 - 둘은 동일하다.K=Q(α)αf∈Z[x]OKα
이제 고정 K를 통해 문제로부터 다항식 시간 환원있다 (1)과 K 의 문제 Q가 . 다항식 시간에 계산 (예 : Z 와 이상 교차 또는 다항식 mod p 인수 분해 )을 수행 할 수 있는지 확인하려면 이전 답변에서 참조 된 Cohen의 책을 참조하십시오.KKQZp
각각의 유리수 프라임 대한 사전 실행 같이 P 의 판별 분할 α를 (즉,의 판별이고 F 의 모든 소수 찾기) O K는 위에 누워 쪽 .pαfOKp
이상적인 주어진 솟수 테스트 (2) ◃ O K 하자 P ∈ Z가 되도록 할 ∩ Z = P Z (이 다항식 시간 내에 계산 될 수 있고, 비트 수 (P)가 입력 다항식이다). p 가 소수 인지 다항식 시간을 확인하십시오 . 그렇지 않으면 a 는 소수가 아닙니다. 예는 다음의 소수 발견하면 O K는 위에 누워 페이지 사전 실행 또는 인수가 중 F 모드 쪽 . 어쨌든 a 가 소수이면 해당 소수 중 하나 여야합니다.a◃OKp∈Za∩Z=pZppaOKpfpa
(3a), (6a) 소인수로 인수 분해하는 데 이상적 일 때 ◃ O K 는 표준 y = N K Q ( a ) = [ O K : a ]를 찾습니다 . 다시 이것은 다항식 시간에서 발견 될 수 있으며 결과적으로 너무 크지 않습니다. Z의 y 를 인수로 계산합니다 (원하는 축소에 따라 고전적으로 또는 Shor의 알고리즘 사용). 이 분할 합리적 솟수들의 목록 제공 y로 하고, 따라서 2에서 우리의 솟수리스트 찾을 수 O K 분할 예를 . 이후 로 | 와이a◃OKy=NKQ(a)=[OK:a]yZyOKyO K 이것은 a를 나누는 소수 목록을 제공합니다. 마지막으로 소수가 주어진 이상을 나누는 지수를 쉽게 결정할 수 있습니다.a|yOKa
(3b), (6b) 그러나 길은 소수가 아닌 환원 할 수없는 요소로 분해를 원합니다. 그것의 소인수 분해 주어진 밝혀 X O K 효율적 구성 할 수있다 하나 개 의 인수 (X)을 의 기약 요소로 O K를 . 이를 위해 h K를 클래스 번호로 지정하고 주어진 이상의 이상적인 클래스를 효율적으로 계산할 수 있습니다. 지금의 돌이킬 수없는 제수 찾을 수 x는 선택 시간 K 의 인수 분해에서 (아마도 반복으로) 주요 이상을 XxOKxOKhKxhKx. 비둘기 구멍의 원칙에 따라 이들 중 일부는 계급 그룹의 정체성과 곱해진다. 최소한 그러한 하위 집합을 찾으십시오. 그 제품은 돌이킬 수없는 요소에 의해 생성 된 주요 이상입니다. 이 요소로 x 를 나누고 인수 분해에서 관련 이상을 제거하고 반복하십시오. 인수 분해 미만인 경우 시간 K의 요소 그럼 그냥 모든 요소의 최소 부분 집합을.xhK
(4) 나는 인수 분해를 돌이킬 수없는 것으로 계산하는 것이 가능하다고 생각하지만, 이것은 약간의 추가 조합입니다. 한편으로, 이들 모두를 결정하는 것은 일반적으로 지수 적으로 많은 인수 분해가 있기 때문에 하위 지수 인수 분해 알고리즘과 관련하여 흥미롭지 않다.
(5) 나는 모른다.