Skip to main content
QUICK REVIEW

[論文レビュー] Efficient Computation of Terms of Linear Recurrence Sequences of Any Order

Dmitry I. Khomovsky|arXiv (Cornell University)|Oct 20, 2016
Advanced Mathematical Theories and Applications参考文献 5被引用数 3
ひとこと要約

本稿では、任意の次数の線形再帰列の項を計算するための効率的なアルゴリズムを提示する。モジュラーポリノミアルスクェアリング技術を用いることで、計算複雑性を著しく低減する。倍化インデックスの閉形式式を導出し、行列表現を活用することで、O(n² log N)回の乗算で実現され、Fiducciaの手法よりも高次再帰列において実用的な効率性に優れる。

ABSTRACT

In this paper we give efficient algorithms for computing second-, third-, and fourth-order linear recurrences. We also present an algorithm scheme for computing terms with the indices $N,\ldots,N+n-1$ of an $n$th-order linear recurrence. Unlike Fiduccia's algorithm our approach uses certain formulas for modular polynomial squarings.

研究の動機と目的

  • n次線形再帰列のN番目の項を高速に計算するアルゴリズムの開発を目的とする。
  • Fiducciaのアルゴリズムを改善するために、モジュラー多項式スクェアリング操作を最適化することを目的とする。
  • 2次、3次、4次再帰列に適用可能な統一的なフレームワークを提供し、任意の次数に一般化することを目的とする。
  • 再帰構造と行列恒等式を活用することで、特に大きなNに対して必要な乗算回数を最小限に抑えること。

提案手法

  • 再帰遷移の行列表現を用い、特にインデックス2kおよび2k+1の倍化公式に注目する。
  • 特徴多項式の係数を用いて、X_{2k+i}およびX_{2k+1+i}をX_{k+j}の関数として明示的な再帰関係で導出する。
  • 完全な行列べき乗を避けるために、導出された公式に基づく再帰的倍化戦略を採用する。
  • 中間状態ベクトルの反復的スクェアリングを用いて、i=0からn-1までのX_{N+i}を計算し、乗算回数を削減する。
  • モジュラー多項式スクェアリング技術を用い、効率性を高めるためにハードコードする。これにより、完全な行列逆行列計算を回避できる。
  • 概念実証としてMathematicaによる実装を提供し、初期値と再帰係数を受け取る関数AnyOrderRecurrenceを提示する。

実験結果

リサーチクエスチョン

  • RQ1高次線形再帰列の項の計算を最適化することで、乗算複雑性をどのように低減できるか?
  • RQ2任意次数の線形再帰列に対して、系統的に閉形式の倍化公式を導出できるか?
  • RQ3n次線形再帰列のN番目の項を計算するために必要な最小乗算回数は何か?
  • RQ4大きなNおよび高次のnに対して、提案手法はFiducciaのアルゴリズムと比べてどの程度効率的か?

主な発見

  • アルゴリズムは、n次線形再帰列のN番目の項をO(n² log N)回の乗算で計算可能であり、μ(n)が大きい場合にはFiducciaのO(μ(n) log N)よりも効率的である。
  • 偶数nの場合、1ステップあたり正確にn(n+1)/2 log₂N回の乗算が必要であり、奇数nの場合も同様の導出により同じ上限が成り立つ。
  • 本手法は任意の次数nに一般化可能であり、多項式恒等式を用いてX_{2k}およびX_{2k+1}をX_{k+i}の関数として明示的に提供する。
  • 最小限のオーバーヘッドで、W_N, W_{N+1}, ..., W_{N+n-1}といった複数の項を同時に計算可能である。
  • Mathematicaによる実装により、アルゴリズムの正しさと効率性が確認され、特に大きなNおよび中程度のnに対して顕著である。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。