- Chebyshev近似計算機
- 数学関数を効率的に近似するためのコードを生成
f(x) 関数について、xmin、xmax、および項数を入力して近似を計算
- 生成されたコードの係数例:
c0 = 0.16793649417016518
c1 = -0.12411164956092625
c2 = -0.09756341588422193
c3 = 0.1800765790518846
c4 = -0.06972963647223016
c5 = -0.09250127939333941
c6 = 0.18076946080324185
c7 = 0.15990613621816677
c8 = -0.028659588693985123
c9 = -0.09494966104347571
c10 = -0.04980429834982578
GN⁺の要約
- Chebyshev近似計算機は、数学関数の近似のための効率的なコードを生成するツール。
- このツールはさまざまな数学的問題の解決に役立ち、特に計算効率の向上に貢献する可能性がある。
- 数学関数の近似に関心のある開発者や研究者にとって興味深い内容。
- 類似機能を提供するツールとしては、MATLABのChebyshev近似関数などがある。
1件のコメント
Hacker Newsのコメント
1974年にIBM 360アセンブリ言語で平方根を計算する関数を書く仕事を任されたことがある。Chebyshev近似で初期推定を行い、Newton法を2、3回繰り返して解を得た。これが初めてコーディングでお金を稼いだ思い出だ
効率的な数学関数の実装に感銘を受け、8ビットコンピュータで三角関数などがどのように実装されるのか理解できるようになった
BBC Research Departmentの1969年の文書は非常に興味深かった。Taylor近似しか触れたことのない人には、Chebyshev近似は魔法のように感じられるかもしれない
以前、Sollyaソフトウェアを使って良い結果を得たことがある。ただし、ソフトウェアの使い勝手はやや煩雑だった
Math.sin(x)/x関数で、[-3,3]範囲の7項の係数がすべてNaNになる問題に遭遇した。xが0に近い場合を1.0に強制することで解決したChebyshev近似は魔法のようだ。大学院レベルの授業で導出過程を見ても、なおそう感じる
最近、近似計算のコードを見つけるのが難しかった。次に必要になったときのためにブックマークしておいた
Nick TrefethenのChebfunは、Chebyshev関連機能を拡張した印象的なソフトウェアだ。"Chebfuns" は関数に対する浮動小数点のような役割を果たす
Nintendo 64にはサイン計算機能がなく、0から2PIまでのルックアップテーブルを使っていたという動画を見た。ニューラルネットワークを訓練して、重みや関数係数を保存することでサインやコサインを計算できたのではないかと気になる
Chebyshev展開を学ぶほうがもっと面白かっただろうし、大学時代にこの資料があればよかったと思う
とても良いと思うが、
f(x)=1/xのような場合は0による除算をうまく扱えない。これは未定義として扱うべきだろう