Skip to main content
QUICK REVIEW

[논문 리뷰] On a fast and nearly division-free algorithm for the characteristic polynomial

Fredrik Johansson|arXiv (Cornell University)|2020. 11. 25.
Polynomial and algebraic computation참고 문헌 23인용 수 7
한 줄 요약

이 논문은 특성 다항식, 행렬식, 수반행렬을 계산하기 위한 최적화된 거의 나눗셈이 없는 알고리즘을 제시한다. Faddeev-Leverrier 방법의 베이비스텝 거대스텝 변종을 사용하여, 점근적 복잡도를 $O(n^{\rho+0.5} + n^3)$로 향상시켰으며, 메모리 사용량도 감소시켰다. 실험적 평가를 통해 이 알고리즘이 Berkowitz 알고리즘을 능가하고, 특히 큰 $n$에 대해서는 $O(n^3)$ 방법과 경쟁 가능함을 입증하였다.

ABSTRACT

We review the Preparata-Sarwate algorithm, a simple $O(n^{3.5})$ method for computing the characteristic polynomial, determinant and adjugate of an $n imes n$ matrix using only ring operations together with exact divisions by small integers. The algorithm is a baby-step giant-step version of the more well-known Faddeev-Leverrier algorithm. We make a few comments about the algorithm and evaluate its performance empirically.

연구 동기 및 목표

  • 특성 다항식, 행렬식, 수반행렬을 계산하기 위한 Preparata-Sarwate 알고리즘의 실용적이고 효율적인 변종을 제시하기 위해.
  • 이 알고리즘이 점근적 복잡도에서 뛰어나지만 널리 구현되거나 인식되지 않는 데서 비롯된 문제를 해결하기 위해.
  • 다양한 환과 정밀도 설정에서 다른 알고리즘들과의 성능을 실험적으로 평가하기 위해, 특히 Berkowitz와 Faddeev-Leverrier 알고리즘과의 비교를 수행하기 위해.
  • 나눗셈이 비용이 많이 들거나 불안정한 고정밀 산술 및 다변수 다항식 몫환에서의 알고리즘 적용 가능성을 탐색하기 위해.
  • 나눗셈이 없는 계산에서 이론적 이점과 실용적 성능가 모두 뛰어난 Preparata-Sarwate 알고리즘의 광범위한 채택을 촉진하기 위해.

제안 방법

  • Preparata-Sarwate 알고리즘을 베이비스텝 거대스텝 전략을 사용하여 행렬 곱셈 횟수를 $O(n)$에서 $O(n^{0.5})$로 감소시킨다.
  • 중간 행렬을 재사용함으로써 공간 복잡도를 $O(n^{2.5})$에서 $O(n^{2.5})$로 절반으로 줄이는 메모리 최적화 버전을 도입한다.
  • 소수 $1, 2, \ldots, n$로 정확한 나눗셈을 사용하여, 일반적인 나눗셈이 필요 없이 모든 연산이 환 $R$ 내에서 유지되도록 보장한다.
  • 반복 제곱법을 통해 행렬 거듭제곱 $A^k$를 계산하고, 중간 누적을 통해 특성 다항식 계수의 추적을 계산한다.
  • 공백산술을 사용하여 수치적 안정성과 정밀도 손실을 평가하기 위해 Arb 컴퓨터 대수 시스템에 알고리즘을 구현한다.
  • 제어된 정밀도 설정 하에서 Hessenberg 분해, LU 분해, QR 기반 고유값 계산, Berkowitz, Faddeev-Leverrier 변종 등 다양한 알고리즘 간의 성능을 비교한다.

실험 결과

연구 질문

  • RQ1고정밀 산술에서 표준 $O(n^3)$ 방법과 경쟁 가능한 성능을 내기 위해 Preparata-Sarwate 알고리즘을 실용적으로 최적화하고 구현할 수 있는가?
  • RQ2다양한 환과 행렬 크기에서 Preparata-Sarwate 알고리즘의 속도와 수치적 안정성은 Berkowitz 및 Faddeev-Leverrier 알고리즘과 비교해 어떻게 되는가?
  • RQ3나눗셈이 비용이 많이 들고 항의 크기 증가가 문제인 다변수 다항식 몫환에서도 알고리즘이 여전히 이점을 유지하는가?
  • RQ4공백산술에서 나눗셈이 없는 알고리즘의 관측된 정밀도 손실은 무엇이며, Hessenberg 분해와 같은 수치적으로 안정적인 방법과 비교해 어떻게 되는가?
  • RQ5표준 방법이 영 피벗이나 불안정성으로 인해 실패할 경우, Preparata-Sarwate 알고리즘이 고정밀 선형대수에서 신뢰할 수 있는 백업으로 기능할 수 있는가?

주요 결과

  • 고정밀 공백산술에서 Preparata-Sarwate 알고리즘은 Hessenberg 분해보다 약 4배 느리지만, 더 견고하고 오류에 강하다.
  • 크기가 큰 $n \approx 50$일 경우 Preparata-Sarwate 알고리즘(Alg2)은 Berkowitz 알고리즘을 능가하고 실질적으로 $O(n^3)$ 방법과 경쟁 가능하다.
  • 알고리즘은 $O(n^{ ho+0.5} + n^3)$ 복잡도를 보이며, 실질적으로 $n^3$ 항은 무시 가능하고, 공간 최적화 구현을 통해 메모리 사용이 개선되었다.
  • 공백산술에서 모든 나눗셈이 없는 알고리즘(Preparata-Sarwate, Berkowitz, Faddeev-Leverrier 포함)은 $O(n)$ 자릿수의 정밀도 손실을 보이지만, LU 및 Hessenberg 방법이 더 안정적이다.
  • 다변수 다항식 몫환에서는 행렬 항의 급격한 증가로 인해 알고리즘이 성능이 열 劣하다. 반복적으로 $A$를 곱하는 것보다 $A^k$를 곱하는 것이 더 비용이 많이 든다.
  • 이론적 이점이 있음에도 불구하고 Preparata-Sarwate 알고리즘은 실생활에서 여전히 활용되지 못하고 있으며, 주로 인식 부족과 구현 부족으로 인해, 큰 $n$에 대해서는 Berkowitz보다 빠른데도 말이다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.