빠른 다항식 나눗셈 알고리즘: 뉴턴 반복의 활용
📝 원문 정보
- Title: Note on fast division algorithm for polynomials using Newton iteration
- ArXiv ID: 1112.4014
- 발행일: 2011-12-20
- 저자: Zhengjun Cao and Hanyue Cao
📝 초록 (Abstract)
: 전통적인 다항식 나눗셈 알고리즘은 입력 크기 n에 대해 O(n^2) 연산을 필요로 하지만, 이 논문에서는 뉴턴 반복과 반전 기법을 사용하여 이를 M(n)으로 개선하는 방법을 제시한다. 여기서 M은 곱셈 시간을 의미하며, 특히 l이 2의 거듭제곱이 아닌 경우에도 원래 뉴턴 반복 공식을 직접 적용할 수 있음을 보여준다. 또한 Gathen과 Gerhard의 비용 분석에 있는 오류를 수정하고 새로운 알고리즘을 제시한다.💡 논문 핵심 해설 (Deep Analysis)
: #### 서론 논문은 다항식이 필드 위에서 유클리드 영역을 형성하며, 이는 모든 a와 b에 대해 (b가 0이 아닌 경우) 고유한 q와 r이 존재하여 a = qb + r이고 r의 차수가 b보다 작다는 것을 설명한다. 전통적인 다항식 나눗셈 알고리즘은 O(n^2) 연산을 필요로 하지만, 뉴턴 반복과 반전 기법을 사용하면 이를 M(n)으로 개선할 수 있다. 그러나 이 방법은 xl의 차수가 2의 거듭제곱일 것을 요구한다.다항식 나눗셈 알고리즘
논문에서는 다항식 a와 b에 대해 q와 r을 찾는 문제를 다룬다. 이를 위해 a = qb + r 형태로 표현하고, 이 때 r의 차수는 b보다 작아야 한다. 논문은 이러한 문제를 해결하기 위한 다양한 단계를 제시한다.
- deg(a) < deg(b) 일 경우: q = 0, r = a 반환.
- m = deg(a) - deg(b) 로 설정하고 Algorithm 1을 호출하여 revdeg(b)(b) modulo xm+1 의 역원을 계산한다.
- q* ← revdeg(a)(a) · revdeg(b)(b)^-1 (xm+1) mod 로 계산한다.
- revm(q*) 를 q로, a - bq를 r로 반환한다.
l의 형태에 대한 논의
Gathen과 Gerhard는 l이 2의 거듭제곱이 아닌 경우 역원을 계산하는 방법을 제안하지만, 이 방법은 덧셈 체인을 형성하지 않는다는 점을 지적한다. 논문에서는 원래 뉴턴 반복 공식을 사용하여 xl 모듈로 f의 역수를 계산할 수 있음을 보여준다.
Algorithm 3: 분배 특성을 이용한 역원 계산
Algorithm 3은 l이 2의 거듭제곱이 아닌 경우에도 원래 뉴턴 반복 공식을 사용하여 xl 모듈로 f의 역원을 계산하는 방법을 제시한다. 이 알고리즘은 다음과 같은 단계를 포함한다:
- g0 ← 1, r ← ⌈log l⌉
- i = 1부터 r - 1까지 반복: gi ← gi−1 · (2 - f · gi−1) (x2i 모듈로 계산)
- gr ← gr−1 · (2 - f · gr−1) (xl 모듈로 계산)
- gr 반환
비용 분석
논문은 Algorithm 1과 Algorithm 3의 비용을 분석한다. 특히, l이 2의 거듭제곱일 경우 Algorithm 1은 최대 3M(l) + l개의 연산을 사용하며, 이는 O(M(l)) 복잡도를 가진다. 반면에 l이 2의 거듭제곱이 아닌 경우에도 원래 뉴턴 반복 공식을 사용하여 xl 모듈로 f의 역원을 계산할 수 있으며, 이 알고리즘은 최대 5M(l) + l개의 연산을 사용한다.
결론
논문에서는 뉴턴 반복을 활용한 빠른 다항식 나눗셈 알고리즘을 제시하며, 특히 l이 2의 거듭제곱이 아닌 경우에도 원래 뉴턴 반복 공식을 직접 적용할 수 있음을 보여준다. 또한 Gathen과 Gerhard의 비용 분석에 있는 오류를 수정하고 새로운 알고리즘을 제시한다.
참고사항
논문은 중국 국가자연과학기금회 및 상하이 시 핵심 학문 분야의 지원을 받았음을 밝히며, 이는 연구의 탄탄한 기반을 제공했다. 논문은 다항식 나눗셈 알고리즘에 대한 깊이 있는 이해를 제공하며, 특히 뉴턴 반복과 관련된 새로운 접근법을 제시한다.
요약
본 논문은 전통적인 O(n^2) 복잡도의 다항식 나눗셈 알고리즘을 개선하기 위해 뉴턴 반복과 반전 기법을 활용한 방법을 제시한다. 특히 l이 2의 거듭제곱이 아닌 경우에도 원래 뉴턴 반복 공식을 직접 적용할 수 있음을 보여주며, 이로 인해 M(n) 복잡도를 가진 효율적인 알고리즘을 제공한다. 또한 Gathen과 Gerhard의 비용 분석에 있는 오류를 수정하고 새로운 알고리즘을 제시함으로써 다항식 나눗셈 알고리즘에 대한 깊이 있는 이해를 제공한다.