Skip to main content
QUICK REVIEW

[論文レビュー] Optimizing polynomials for floating-point implementation

Florent de Dinechin, Christoph Lauter|ArXiv.org|Mar 4, 2008
Numerical Methods and Algorithms参考文献 19被引用数 5
ひとこと要約

この論文では、小さな係数をゼロに固定することで、浮動小数点数実装における多項式近似を最適化する修正されたリーメツ法を提示している。これにより、計算コストと数値的キャンセルの両方を低減する。本手法はブラックボックス関数インターフェースを採用し、不完全な単項式基底を対象とすることで、標準のミニマックス近似よりも効率的で数値的に安定した多項式を得られる。

ABSTRACT

The floating-point implementation of a function on an interval often reduces to polynomial approximation, the polynomial being typically provided by Remez algorithm. However, the floating-point evaluation of a Remez polynomial sometimes leads to catastrophic cancellations. This happens when some of the polynomial coefficients are very small in magnitude with respects to others. In this case, it is better to force these coefficients to zero, which also reduces the operation count. This technique, classically used for odd or even functions, may be generalized to a much larger class of functions. An algorithm is presented that forces to zero the smaller coefficients of the initial polynomial thanks to a modified Remez algorithm targeting an incomplete monomial basis. One advantage of this technique is that it is purely numerical, the function being used as a numerical black box. This algorithm is implemented within a larger polynomial implementation tool that is demonstrated on a range of examples, resulting in polynomials with less coefficients than those obtained the usual way.

研究の動機と目的

  • 大きな係数の大きさの差による浮動小数点数での多項式評価における数値的不安定性(壊滅的キャンセル)を是正すること。
  • 小さな係数や無視できる係数の削除により、多項式評価の演算回数を削減すること。
  • 奇関数・偶関数のための対称性に基づく係数の削除(例:奇関数・偶関数)を、解析的対称性の知識が不要なより広い関数クラスへ一般化すること。
  • 記号的変換を一切行わず、関数をブラックボックスとして扱う純粋な数値的手法を開発すること。
  • 浮動小数点数演算における多項式ベースの初等関数実装の実用性と正確性を向上させること。

提案手法

  • 特定の単項式が除外される(すなわち、その係数がゼロに固定される)不完全な単項式基底上で誤差を最小化するようにリーメツ法を適応する。
  • 関数評価と微分のアクセスのみを必要とする、ブラックボックスとしての関数を扱う数値的アプローチを採用する。
  • 選択された単項式が基底に含まれないことを考慮した修正された誤差最小化基準を適用し、制約下での最適近似を保証する。
  • 評価にはホルナーの方法を用い、評価中の潜在的なキャンセルを分析して係数の削除を誘導する。
  • 評価誤差をバインドし正しさを保証するために、ダブル・ダブルおよびトリプル・ダブル算術と統合する。
  • 誤差境界と逆誤差関数、初等関数などの関数に対する実験的テストを通じて結果を検証する。

実験結果

リサーチクエスチョン

  • RQ1多項式近似における係数の削除は、浮動小数点数での評価における計算コストと数値的キャンセルの両方を低減できるか?
  • RQ2一部の係数が数値的に無視できる場合に、浮動小数点数実装に最適化されたミニマックス多項式はどのように最適化できるか?
  • RQ3奇関数・偶関数に限らない対称性に基づく係数削除は、どの程度一般化可能か?
  • RQ4記号的解析なしに、純粋な数値的アルゴリズムが多項式近似における小さな係数を効果的に特定・削除できるか?
  • RQ5標準のミニマックス近似やテイラー近似と比較して、提案手法は正確性と効率性においてどのように優れるか?

主な発見

  • アルゴリズムは多項式近似における小さな係数を効果的に特定・削除し、項の数を削減するとともに数値的安定性を向上させた。
  • 相対誤差境界が 2^-60 である [-1/4, 1/4] の逆誤差関数に対して、19次奇多項式(奇数次の項のみ)を生成し、近似誤差が 2^-62.9 に達した。
  • ダブル・ダブル算術で計算した場合の多項式評価誤差は 2^-62.4 以内に抑えられ、高い正確性を示した。
  • 関数がブラックボックスとして扱われる状況でも、奇関数に対しては奇数次の項を自動的に選択する適切な単項式基底を選定できた(対称性の事前知識が不要)。
  • 係数の大きさの差が著しくならないようにすることで、演算回数を削減し、キャンセルを回避し、浮動小数点数演算における性能と信頼性を向上させた。
  • Sollya などのツールに成功裏に統合され、CRLibm ライブラリにおける関数実装にも応用され、実用的価値を示した。

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

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

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

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