유한분야에 대한 다항식의 인자화

Factorization of polynomials over finite fields

수학과 컴퓨터 대수학에서 다항식의 인자화는 그것을 돌이킬 수 없는 인자산물로 분해하는 것으로 구성된다.이러한 분해는 이론적으로 가능하고 어떤 분야에서든 계수가 있는 다항식들에 대해 고유하지만 알고리즘을 이용한 인자화 연산이 가능하려면 오히려 계수 영역에 대한 강한 제약이 필요하다.실제로 알고리즘은 유한한 분야, 합리성의 분야 또는 그 중 하나의 세부적으로 생성된 분야 확장에 계수를 가진 다항식에만 설계되어 왔다.

합리적인 숫자에 대한 다변량 다항식의 경우를 포함하여 모든 인자화 알고리즘은 문제를 이 경우로 줄인다. 다항식 인자화를 참조한다.코딩 이론(순환 중복 코드와 BCH 코드), 암호학(타원곡선을 이용한 공개키 암호학), 계산 번호 이론 등 유한 분야의 다양한 응용에도 사용된다.

다변량 다항식의 인자를 일변량 다항식의 인자로 축소하는 것은 유한한 분야의 계수의 경우 특이성이 없기 때문에, 이 글에서는 변수가 하나 있는 다항식만을 고려한다.

배경

유한장

가우스갈루아의 작품으로 거슬러 올라갈 수 있는 유한장 이론은 수학의 여러 가지 분야에 한몫을 해 왔다.컴퓨터 과학과 같은 수학 및 과학의 다른 주제에서의 개념의 적용 가능성 때문에 유한한 분야에 대한 관심의 부활이 있었고 이것은 부분적으로는 코딩 이론암호학의 중요한 적용에 기인한다.유한 분야의 응용은 암호학, 컴퓨터 대수학, 코딩 이론에서 이러한 발전들 중 일부를 소개한다.

유한장 또는 갈루아장(Galois field)은 유한한 순서(원소 수)를 가지는 장이다.유한장의 질서는 항상 전성기 또는 전성기의 힘이다.prime power q = pr 대해, q 원소를 가진 하나의 한정된 장이 정확히 존재하며, 이는 이형성까지이다.이 필드는 GF(q) 또는 Fq 표시된다.p가 prime이면 GF(p)가 p 순서 p의 주요 분야로, 잔류 등급 modulo p의 분야로, p 요소는 0, 1, ..., p-1로 표시된다.따라서 GF(p)에서 a = b는 ≡ b(mod p)와 같은 것을 의미한다.

불가해성 다항식

F를 유한한 장으로 하자.일반분야의 경우 F[x]의 비정규 다항식 f가 양의 두 다항식의 산물이 아니라면 F에 대해 수정할 수 없다고 한다.F에 대해 설명할 수 없는 양의 다항식을 F대해 환원 가능하다고 한다.

불가해한 다항식들은 우리가 비우량 질서의 유한한 분야를 건설할 수 있게 해준다.사실, prime power q의 경우, fq q 원소를 가진 유한한 장이 되고, 이소모르피즘에 따라 고유하게 된다.정도의 다항식 fn 하나를 위하여, Fq에, 학위 n의 밭으로qn 요소:학위와 이하의 이 확장명의 요소는 다항식과 같은 모양의 영역을 확장을 정의합니다 더 이상 줄일 수 없다;Fq의 요소로 덧셈, 뺄셈과 곱셈 있는 것은 다항식의;두개 e.의 제품보다 더 큰르ments는 다항식으로서 제품의 f에 의한 분할의 나머지다. 요소의 역은 확장된 GCD 알고리즘으로 계산할 수 있다(대수확장 산술 참조).

그 다음에, 비 소수 질서의 유한한 분야에서 계산하기 위해서는, 돌이킬 수 없는 다항식을 생성해야 한다.이를 위해 다항식을 임의로 취하여 재확인이 불가능한지 시험하는 것이 일반적인 방법이다.현장에서 곱셈의 효율성을 위해 모양 xn + 도끼 + b의 다항식을 검색하는 것이 보통이다.[citation needed]

유한분야에 대한 불가역적인 다항식들은 피드백 이동 레지스터와 F2n 대한 이산 로그들을 사용하는 Phasorandom 수 생성자들에게도 유용하다.

Fq 대한 n 도 n의 불가역적인 단항식의 수는 모로 목걸이 계산 기능 Mq(n)이 부여한 aperiodic 목걸이의 수입니다.밀접하게 연관된 목걸이 함수 Nq(n)은 일차적인 n 도(불가역할 수 있는 힘)의 일차 다항식 또는 또는 n을 나누는 모든 도 d의 무적 다항식을 계산한다.[1]

다항식 P = x4 + 1은 Q에 대해 수정할 수 없지만 어떤 한정된 필드에도 적용할 수 없다.

  • F2 모든 필드 확장에서 P = (x+41)
  • 다른 모든 한정된 분야에서 -1, 2, -2 중 적어도 하나는 사각형이다. 왜냐하면 두 개의 비 제곱의 생산물이 사각형이기 때문에 우리는
  1. = 2, P=( + )( - a).
  2. = , 경우 =( x + +1 )( x - + ). }+).
  3. 만약- = , {\displaystyle -c - ( + - ) . }-

복잡성

다항식 인수 알고리즘은 제품, 중분류, gcd, 한 다항식 모듈로 다른 다항식 모듈로의 파워 등과 같은 기본적인 다항식 연산을 사용한다.최대 n의 2개의 다항식 곱셈은 "클래식" 산수를 사용하는 Fq O(n2) 연산이나 "빠른" 산수를 사용하는 Fq O(nlog(n) log(log(n) ) 연산에서 할 수 있다.유클리드 분할(남은 분할)은 동일한 시간 범위 내에서 수행될 수 있다.최대 n의 두 다항식 사이의 다항식 최대 공통점 비용은 고전적 방법을 사용하는 Fq O(n2) 연산 또는 빠른 방법을 사용하는 Fq O(nlog2(n) 로그(log(n) ) 연산으로 취할 수 있다.다항식 h, 최대 ng인 경우, 지수 h modq gO(log(q) 다항식 제품으로 할 수 있으며, 스퀴링 방법에 의한 지수화, 즉 고전적 방법을 사용q F의2 O(nlog(q) log(n) log(n) 연산 또는 빠른 방법을 사용한 Fq O(nlog(log) log(n) 연산이다.

이어지는q 알고리즘에서는 다항식 산술에 고전 알고리즘을 사용하여 복잡성을 F의 산술 연산 수로 표현한다.

인수 알고리즘

유한 분야보다 다항식을 인수하기 위한 많은 알고리즘은 다음 세 단계를 포함한다.

  1. 사각자유인자화
  2. 고유도 인자화
  3. 동일도 인자화

중요한 예외는 2단계와 3단계를 결합한 Berlekamp의 알고리즘이다.

베를레캄프 알고리즘

베를캄프의 알고리즘은 실제로 잘 작동하는 첫 번째 인자화 알고리즘으로서 역사적으로 중요하다.단, 지면의 요소에 대한 루프를 포함하고 있어, 이는 작은 유한장에 대해서만 실행이 가능하다는 것을 암시한다.고정된 지반장의 경우 시간 복잡성은 다항식이지만 일반 지반장의 경우 지반장의 크기가 기하급수적으로 복잡하다.

사각자유인자화

알고리즘은 계수가 q = pm p p p p의 유한장 F로부터q 오는 다항식들에 대한 사각 자유 인자화를 결정한다.이 알고리즘은 먼저 파생상품을 결정한 다음 다항식 및 그 파생상품의 gcd를 계산한다.파생상품이 0이 아니라는 전제하에 gcd는 다시 원래의 다항식(유한 필드에 대해 정의된 비정규 다항식)으로 나뉜다.

이 알고리즘은 사실 xp에서 다항식의 도함수가 0,다면, 그것은 다항식, 만약은 계수 대회에 속한다면, 다항식의pth 힘 x1/p에 의해 x을 대체함으로써 얻은을 사용합니다.만약은 계수 대회에 속하는 것은 아닐지라도, 0파생품으로 다항식의p-th 뿌리 x,에 같은 대체 구해진다.계수에 프로베니우스 자동형성의 반전을 적용하여 완성한다.[citation needed]

이 알고리즘은 pth 루트가 계산되는 명령 블록에는 절대 입력되지 않는 유일한 차이를 가지고 특성 0의 영역에서도 작동한다.그러나 이 경우 윤의 알고리즘은 낮은 도수의 다항식 중 가장 큰 공통점을 계산하기 때문에 훨씬 효율적이다.결과적으로, 정수보다 다항식을 인수할 때, 다음 알고리즘은 사용되지 않는다: 먼저 정수에 대한 사각 자유 인자화를 계산하고, 결과 다항식을 인수하기 위해 정사각형이 없는 모듈로 p를 선택한다.

알고리즘:현지 야전 부대(Square-Free 인수 분해)입력:Fq[)]이q=pm 출력의 모닉 다항식 f:fR←의Square-free 인수 분해 1#을 w산물이 되(다중도 없이)의 모든 요인들의 f 가지고 있는 # 다양하지 않게 나눌에 의해 pc ← gcd(f, f′)w(f/c)1단계:을 확인하라 모든 요인들에 wi←1.w≠ 하면 1y ← gcd(w, c)fac ← w/y R← R·faci w←는 y;요리← c/y, 나는 ←i+1는 동안#c는 지금 제품(다양성과)의 남아 있는 요인의 f)2단계:을 확인하라 남아 있는 모든 요소를 사용하여 반복 #습니다 이것들이 요소의 f 가지고 있는 multiplicity 분할에 의해 p만약 c≠ 1그때 c← c1/p R← R·SFF(c)p 끝.아웃put(R)

그 아이디어는 동일한 다중성을 가진 f의 모든 되돌릴 수 없는 요인의 산물을 식별하는 것이다.이것은 두 단계로 이루어진다.첫 번째 단계는 f의 공식 파생상품을 사용하여 p로 구분되지 않는 다중의 요소를 모두 찾는다.두 번째 단계는 나머지 요인을 식별한다.나머지 모든 요인은 p로 나누어질 수 있는 다중성을 가지고 있기 때문에 p의 힘이라는 뜻이기 때문에 p-제곱근(p-square root)을 간단히 취하고 재귀(recursion)를 적용할 수 있다.

제곱이 없는 요인화 예제

내버려두다

세 가지 요소로 현장에 반영될 수 있다.

알고리즘이 먼저 계산함

파생상품이 0이 아니기 때문에 w = f/c = x2 + 2가 있고 while 루프에 들어간다.한 루프가 지나면 y = x + 2, z = x + 1, R = x + 1이 표시되며 업데이트 i = 2, w = x + 2 c = x87 + x + x6 + x+x2+1이 표시된다.두 번째 루프는 y = x + 2, z = 1, R = x + 1을 제공하며 업데이트 i = 3, w = x + 2c = x + 2 + 2제공한다76.루프를 통해 세 번째도 R을 바꾸지 않는다.루프를 통해 번째로 y = 1, z = x + 2, R = (x + 1)(x + 1)(x + 2)을 얻으며 업데이트6 i = 5, w = 1, c = x + 1을 얻는다.4w = 1이므로 while loop을 종료한다.c ≠ 1이니 완벽한 큐브임에 틀림없다.x3 x로 대체하여 얻은 c의 입방근은 x2 + 1이며, square-free procedure를 재귀적으로 호출하여 square-free로 판정한다.그러므로 그것을 참아서 그 점에 대한 R의 값과 결합하면 제곱이 없는 분해 작용을 하게 된다.

고유도 인자화

이 알고리즘은 제곱이 없는 다항식을 모두 같은 정도를 갖는 다항식의 산물로 분할한다.fFq[x]의 도 n을 인수할 다항식이 되게 한다.

알고리즘 고유도 인자화(DDF) 입력: 단일 사각 자유 다항식 f ∈ Fq[x] 출력:모든 쌍(g, d)의 집합은 f가 °C의 °C와 g가 °C의 °C의 unic orreducable 인자를 갖는 °C는 °C의 °C이다.Begin  while  do  if g ≠ 1, then ;                  end if i := i + 1; end while;         if , then ;         if , then return {(f, 1)}, 기타 반환 S

알고리즘의 정확성은 다음 사항을 기반으로 한다.

보조정리. i ≥ 1 다항식

Fq[x]의 모든 단일 불분명한 다항식(monic unreduccessible polyomials)의 산물이며, 그 등급은 i이다.

언뜻 보기에는 입력 다항식의 정도가 지수적인 다항식의 GCD 계산이 수반되기 때문에 효율적이지 않다.그러나

으로 대체될 수 있다.

따라서 우리는 다음을 계산해야 한다.

두 가지 방법이 있다.

방법 1.다음 값에서 시작

의 단계에서 계산하고 제곱법에 의한 지수를 사용하여 새로운 f* f*에 대한 q번째 전력 모듈로 계산한다.이것은 필요하다.

각 단계에서 F 단위q 산술 연산, 즉,

전체 알고리즘에 대한 산술 연산.

방법 II.q번째 전력q F에 대한 선형 지도라는 사실을 사용하여 우리는 다음과 같이 매트릭스를 계산할 수 있다.

작전그런 다음 루프의 각 반복에서 벡터(O(deg(f)2 연산)로 행렬의 곱을 계산한다.이것은 F에서q 총 작업 수를 유도한다.

따라서 이 두 번째 방법은 더 효율적이며 일반적으로 선호된다.더욱이 이 방법으로 계산되는 매트릭스는 대부분의 알고리즘에 의해 동일도 인자화(아래 참조)를 위해 사용된다. 따라서 이를 구별도 인자화에 사용하면 추가 계산 시간이 절약된다.

동일도 인자화

칸토르-자센하우스 알고리즘

이 절에서는 도 d각 도 d의 r2 2 쌍으로 구별되는 불복원 를 갖는 유한 필드 Fq 대해 도 n의 단일 일변량 다항식 f의

우리는 먼저 칸토르와 자센하우스(1981)에 의한 알고리즘을 설명하고, 그 다음에는 약간 더 복잡한 변형을 설명한다.둘 다 무작위 선택(Las Vegas 알고리즘)에 따라 실행 시간이 달라지며, 평균 실행 시간이 좋다.다음 절에서는 슈프(Shoup)의 알고리즘을 설명하는데, 이 알고리즘은 또한 동일도 인자화 알고리즘이지만 결정론적이다.이 모든 알고리즘은 계수 영역에 대해 홀수 순서 q를 요구한다.자세한 인자화 알고리즘은 예를 참조하십시오.크누스의 책 컴퓨터 프로그래밍의 기술 2권.

칸토르-자센하우스 알고리즘.입력: 홀수 순서 q의 유한 필드 Fq. 도 n = rdq 단일 사각형 자유 다항식 f. 각  d 출력마다 r 2 2개의 수정 불가능한 인자를 가지고 있다.f의 단일 불분명한 요인 집합. 
요소들:){f}, Size(요인)<>r선택하니 Fq[)]에 deg(h)<>로 h, 무작위로 n;g:q d 됐어요=− deg(u)을과 요인에 각 u12− 1(f모드){\displaystyle g:=h^{\frac{q^{d}-1}{2}}-1{\pmod{f}}};만약 ≠ 1과≠ 너 gcd(g,마), 그 팩트 gcd(g,마)d 한다.ors:)요인  {{(( ,  ,  (,  ), 엔디프; 종료하는 동안 요인 반환 

이 알고리즘의 정확성은 f[xq]/f 링이 fq[x]/fi 필드의 직접 산물이라는 사실에 의존하며 fi f의 불가해한 인자로 실행된다.이 모든 필드는 qd 요소를 가지고 있기 때문에, 이들 필드 중 어느 하나에서 g의 구성요소는 확률로 0이다.

이는 다항식 gcd(g, u)가 g의 성분이 0인 g의 인자의 산물임을 의미한다.

It has been shown that the average number of iterations of the while loop of the algorithm is less than , giving an average number of arithmetic operations in Fq which is .[2]

dlog(q) > n인 일반적인 경우, 이 복잡성은 다음과 같이 감소될 수 있다.

선형 지도의 커널에서 h를 선택하여

그리고 지시사항을 교체한다.

에 의해

유효성의 증명서는 Fq[x]/fi 필드의 직접 제품을 하위 필드의 직접 생산물로 q 요소로 대체하여 위와 같다.The complexity is decomposed in for the algorithm itself, for the computation of the matrix of the linear map (which may be already computed in the square-free factorization) and O(n3) fo그것의 커널을 계산한다.이 알고리즘은 인자의 정도가 같지 않은 경우에도 작동한다는 점에 유의할 수 있다(이 경우, 루프를 멈추는 데 필요한 인자의 수 r이 커널의 치수로 발견된다).그럼에도 불구하고, 이 알고리즘을 사용하기 전에 정사각형이 없는 요인화를 수행한다면 복잡성은 약간 더 좋다(n은 정사각형이 없는 요인화에 따라 감소할 수 있기 때문에, 이것은 임계 단계의 복잡성을 감소시킬 수 있다).

빅터 슈프의 알고리즘

앞의 절의 알고리즘과 마찬가지로 빅터 슈프의 알고리즘은 동일도 인자화 알고리즘이다.[3]그들과는 달리 결정론적 알고리즘이다.그러나, 그것은 앞의 절의 알고리즘에 비해, 실제로는 덜 효율적이다.슈프의 알고리즘의 경우 입력은 F장p 이상의 다항식으로 제한된다.

슈프 알고리즘의 최악의 경우 시간 복잡성은 인자 을(를) 가지고 있지만 이러한 복잡성은 인자로 p를 가지고 있던 이전의 결정론적 알고리즘(Berlekamp 알고리즘)보다 훨씬 낫다.그러나 계산 시간이 기하급수적인 다항식이 거의 없으며, 알고리즘의 평균 시간 은 d ( p), 에서 다항식이며, 여기서 d는 다항식의 정도, p는 지면장의 요소 수입니다.

Let g1 = gk ... g는 원하는 인자화로서 여기서 gi d의 구별되는 단일 불분명한 다항식이다.let n = deg(g) = kd.우리는 R = Fq[x]/g를 고려하고 R에서 x의 이미지를 x로 표시한다.RRi = Fq[x]/gi 필드의 직접적인 산물이며, 우리R에서i R까지의 자연 동형성pi 나타낸다.Ri over Fq 갈루아 그룹필드 오토모프리즘 uup 의해 생성되는 순서 d의 순환이다.Ri 있는i g의 뿌리는 다음과 같다.

앞의 알고리즘에서와 마찬가지로 이 알고리즘은 베를레캄프의 알고리즘과 동일한 R의 하위골격 B를 사용하며, 때로는 "Berlekamp subagebra"라고 불리며 다음과 같이 정의된다.

B의 부분 집합 S는, 1 < i < jk마다p () ( ) ≠ p j ( s )와 같은 s ∈ S가 존재한다면 분리 집합이라고 한다. 앞의 알고리즘에서 분리 집합은 S의 임의 원소를 선택하여 구성된다슈프의 알고리즘에서 분리 세트는 다음과 같은 방식으로 구성된다.그렇게 합시다.

그러면 ( s)= i ()= g g_{i}={i}(s)=g_}}}의 i = 1, ..., k(두 개의 단일 다항식)의 루트가 같기 때문에 은 분리 집합이다.gi 쌍으로 구별되므로, 구별되는 인덱스(, j)의 각 쌍에 대해, 계수 s h 적어도 가 p ( ) p ( ). 를 만족한다.

분리 집합을 갖는 슈프의 알고리즘은 "Linear v → v(f v v 명령을 "S에서 h + i를, ..., k-1}에서 h로 선택하라"로 대체하는 것만으로 앞의 섹션의 마지막 알고리즘으로 진행된다.

시간 복잡성

앞의 절에서 설명한 바와 같이 유한한 필드에 대한 인자화에는 다항 시간 복잡성임의화된 알고리즘(예: 칸토르-자센하우스 알고리즘)이 있다.다항식 평균 복잡성을 갖는 결정론적 알고리즘(예: 슈프의 알고리즘)도 있다.

다항식 최악의 경우 복잡성을 갖는 결정론적 알고리즘의 존재는 여전히 공공연한 문제다.

라빈의 재확산성 검사

구별도 인자화 알고리즘과 마찬가지로 라빈의 알고리즘은[4] 위에서 설명한 Lema에 기초한다.고유도 인자화 알고리즘은 입력 다항식의 절반 이하의 도마다 시험한다.라빈의 알고리즘은 d를 적게 고려하는 데 인자가 필요하지 않다는 점을 활용한다.그렇지 않으면 구별도 인자화 알고리즘과 유사하다.다음과 같은 사실에 근거하고 있다.

나는 n나는}{\displaystyle n/p_{나는}=n_{나는}원, 1≤에 나는 Fq[)]정도 n의 Fq[)]에 기약은 k다항식 f≤ 나는 k≤ 1≤에 만일 gcd(fxq ni−))=1{\displaystyle \gcd \left(f,x^{q^{n_{나는}}}-x\right)=1}, f가 분열하여 p1,..., pk, n의 모든 주요 제수, 그리고denote n/p자. x. In fact, if f has a factor of degree not dividing n, then f does not divide ; if f has a factor of degree dividing n, then this factor divides at least one of the

알고리즘 Rabin Ireducibility Test Input: 도 n, p1, ...의qk F[x]에 있는 단항 다항식 f, p의 모든 고유 소수점 n.출력:"f는 환원할 수 없다" 또는 "f는 환원할 수 있다" 중 하나.for j = 1 to k do ;     for i = 1 to k do ;         g := gcd(f, h);         if g ≠ 1, then return "f is reducible" and STOP;     end for;      g = 0이면 "f가 "reducable"을 반환하고, 그렇지 않으면 "f가 환원 가능"을 반환한다.

이 알고리즘의 기본 아이디어는 프로베니우스 오토모프리즘을 반복적으로 스퀴링하거나 사용함으로써 가장 n , 부터 를 계산한 다음, 통신원 gcd를 가져가는 것이다.기본적인 다항식 산술을 사용하여 프로베니우스 오토모피즘의 행렬의 연산에는 (+ 연산 Fq 필요하다.

O(n3) 추가 연산이 필요하고, 알고리즘 자체는 O(kn2) 연산이 필요하며 F에서q 2(+ q 연산이 가능하다.Using fast arithmetic (complexity for multiplication and division, and for GCD computation), the computation of the by repeated squaring is , and the algorithm itself is , giving a total of operations in Fq.

참고 항목

참조

  • KEMPERT,H (1969년) 오하이오 주립대학 콜럼버스 다항식 수학과의 인자화에 대하여,오하이오 43210
  • Shoup,Victor (1996) 토론토 Limited Fields Computer Science University of Toronto의 Smoothness and Factoring Polyomials
  • 본 수르 가텐, J.; 파나리오, D. (2001)유한분야에 대한 다항식 인수: 조사.Symbolic Computing 저널, 제31권, 이슈 1-2, 2001년 1월 3-17.
  • 가오슈홍, 파나리오 다니엘,Clemson University, South Carolina, 29634–1907, USA, Toronto, Canada M5S-1A4의 유한분야 수학과학부에 대한 Ireducible Polyomials의 시험시공
  • 슈프, 빅터 (1989) 위스콘신-매디슨 대학의 유한 분야 컴퓨터 과학 학과에서 불가해한 다항식 발견을 위한 새로운 알고리즘
  • Geddes, Keith O; Czapor, Stephen R.; Laban, George (1992년)컴퓨터 대수 알고리즘.보스턴, MA: 클루워 학술 출판사. 페이지 xxii+585. ISBN0-7923-9259-0.

메모들

  1. ^ 크리스토프 루테나워, 모츠 서큘럼장어 다항식 어음, 앤. 과학. 수학 퀘벡, 제12권, 제2권, 페이지 275-285
  2. ^ Flajolet, Philippe; Steayaert, Jean-Marc (1982), Automata, languages and programming, Lecture Notes in Comput. Sci., vol. 140, Aarhus: Springer, pp. 239–251, doi:10.1007/BFb0012773, ISBN 978-3-540-11576-2
  3. ^ Victor Shoup, 유한분야에 대한 다항식 인자의 결정론적 복잡성에 대하여, 정보처리 서신 33:261-267, 1990
  4. ^ Rabin, Michael (1980). "Probabilistic algorithms in finite fields". SIAM Journal on Computing. 9 (2): 273–280. CiteSeerX 10.1.1.17.5653. doi:10.1137/0209024.

외부 링크