Tanh-sinh求積法 は、 1974年に高橋英俊と森正武によって導入された数値積分 法である。 [ 1 ] これは特に、片側または両側の端点に特異点 または無限導関数が存在する場合に適用される。
この方法は、変数変換 に双曲線関数を使用する。
x = タン ( 1 2 π シン t ) {\displaystyle x=\tanh \left({\frac {1}{2}}\pi \sinh t\right)\,} 区間x ∈ (−1, 1) 上の積分を実数直線 t ∈ (−∞, ∞) 全体上の積分に変換する。このとき、2 つの積分は同じ値を持つ。この変換後、被積分関数は二重指数関数的な 速度で減衰するため、この方法は二重指数関数 (DE) 公式 としても知られている。[ 2 ]
指定されたステップサイズの場合h {\displaystyle h} 積分は和によって近似される
∫ − 1 1 f ( x ) d x ≈ ∑ k = − ∞ ∞ w k f ( x k ) 、 {\displaystyle \int _{-1}^{1}f(x)\,dx\approx \sum _{k=-\infty }^{\infty }w_{k}f(x_{k}),} 横軸 とともに
x k = タン ( 1 2 π シン k h ) {\displaystyle x_{k}=\tanh \left({\frac {1}{2}}\pi \sinh kh\right)} そして重さ
w k = 1 2 h π コッシュ k h コッシュ 2 ( 1 2 π シン k h ) 。 {\displaystyle w_{k}={\frac {{\frac {1}{2}}h\pi \cosh kh}{\cosh ^{2}\left({\frac {1}{2}}\pi \sinh kh\right)}}.}
使用 Tanh-Sinh法は、端点挙動に非常に鈍感です。 (−1, 1)区間の両端点または片方の端点に特異点 や無限大の導関数が存在する場合、それらは変換後の区間の(−∞, ∞)端点にマッピングされ、端点の特異点や無限大の導関数は消滅します。これにより、通常は台形公式 によって実行される数値積分手順の精度が大幅に向上します。ほとんどの場合、変換後の被積分関数は急速な減衰(ロールオフ)を示し、数値積分器が迅速に収束を達成できるようになります。
ガウス求積法 と同様に、tanh-sinh求積法は、数百桁、あるいは数千桁の精度が求められる任意精度 積分に適しています。十分に扱いやすい被積分関数であれば、 収束は 指数関数的(離散化の意味で)です。評価点の数を2倍にすると、正しい桁数もほぼ2倍になります。ただし、tanh-sinh求積法は、滑らかな被積分関数に対してはガウス求積法ほど効率的ではありません。しかし、既に述べたように、ガウス求積法とは異なり、積分区間の両端または片端に特異点や無限階微分を持つ被積分関数に対しても同様にうまく機能します。さらに、tanh-sinh求積法は段階的に実装でき、ルールレベルを上げるたびにステップサイズを半分にし、前のレベルで計算された関数値を再利用します。また、横座標と重みの計算が比較的容易であるという利点もあります。n 桁の精度で横座標と重みのペアを計算するコストは、ガウス求積法のn 3 log n と比較して、おおよそn 2 log 2 n です。
ベイリー らは、タンシン求積法、ガウス求積法、誤差関数求積法、およびいくつかの古典的な求積法について広範な研究を行い、特に高精度な結果が求められる場合、古典的な求積法は最初の3つの方法に匹敵しないことを発見した。2003年9月に開催されたRNC5「実数とコンピュータ」で発表された会議論文の中で、ベイリーとリーはタンシン求積法をガウス求積法および誤差関数求積法と比較し、「総合的に見て、タンシン法が最も優れているように思われる。タンシン法は、一貫して優れた精度と高速な実行時間を兼ね備えている。現時点で、真に汎用的な求積法に最も近いものである 」と結論付けている。
ベイリーら(2005)は、この手法をガウス求積法や誤差関数求積法 と比較した結果、タンシン法は「実験数学研究で最もよく遭遇するタイプの被積分関数に対して最適であると思われる」ことを発見した。
ベイリー(2006)は、「タンシン求積法は、特に横座標と重みの計算時間を考慮すると、現在知られている中で最も高速な高精度求積法である 。この方法は、最大20,000桁の精度での求積計算に成功裏に適用されている」ことを発見した。
要約すると、Tanh-Sinh求積法は、最小限の関数評価回数で最も正確な結果が得られるように設計されています。実際には、Tanh-Sinh求積法はほぼ常に最良の方法であり、拡張精度を求める場合には、しばしば唯一有効な方法となります。
参考文献 ↑ 高橋& 森 (1974) ↑ 森(2005) ↑ Thompson, Nick; Maddock, John. "二重指数関数的求積法" . boost.org . ↑ デネス、グレアム (2020 年 10 月 29 日)。 「タンシン求積法による数値積分」 。 ニュートン エクセル バッハ、単なる Excel ブログではありません 。 ↑ Kmett, Edward. "integration: tanh-sinh 求積法による高速で堅牢な数値積分" . Hackage . ↑ "mpmath ライブラリは、任意の精度で実数および複素数の浮動小数点演算を行うためのものです" . mpmath . ↑ "FastTanhSinhQuadrature.jl" . GitHubリポジトリ . ↑ "DoubleExponentialFormulas.jl" 。GitHub リポジトリ 。 ↑ Ganchovski, Ned. "Tanh-Sinh Integration with C#" . GitHub リポジトリ .
さらに読む ベイリー、デビッド H、「タンシン高精度直交座標法」(2006)。 Molin、Pascal、Integration numérique et calculs de fonctions L (フランス語) 、博士論文 (2010)。 Bailey, David H、Karthik Jeyabalan、Xiaoye S. Li 、「3つの高精度求積法の比較」。Experimental Mathematics 、14.3 (2005)。 Bailey, David H、Jonathan M. Borwein、David Broadhurst、および Wadim Zudlin、「実験数学と数理物理学」 、 Wayback Machine に 2011 年 9 月 27 日に アーカイブ済み、Gems in Experimental Mathematics (2010)、American Mathematical Society、pp. 41–58。 ジョナサン・ボーウェイン 、デイビッド・H・ベイリー、ローランド・ギルゲンソン著『数学における実験―発見への計算的道筋 』AKピーターズ、2003年。ISBN 1-56881-136-5 。森正武、杉原正明(2001年1月15日)「 数値解析 における二重指数変換」『計算応用数学ジャーナル 』 127 ( 1-2 ) :287-296。Bibcode :2001JCoAM.127..287M。doi:10.1016/S0377-0427(00)00501- X。ISSN 0377-0427 。 森正武(2005)「二重指数変換の発見とその発展」、数理科学研究所紀要 、41 (4):897–935 、doi :10.2977/prims/1145474600 、ISSN 0034-5318 この論文はここからも入手可能です。Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007)、「第4.5節 変数変換による求積法」、Numerical Recipes: The Art of Scientific Computing (第3 版)、ニューヨーク:ケンブリッジ大学出版局、ISBN 978-0-521-88068-8 高橋英俊、森正武(1974)「数値積分のための二重指数公式」、数理科学研究所紀要 、9 (3):721–741 、doi :10.2977/prims/1195192451 、ISSN 0034-5318 この論文はここからも入手可能です。
外部リンク Cook, John D、「二重指数積分」ソースコード付き。 デネス、グレアム著「Tanh-Sinh求積法による数値積分」 Tanh-Sinh法をはじめとする様々な求積法を実証する14個の求積プログラムを含むMicrosoft Excelワークブック。特にTanh-Sinh法、そして一般的には二重指数法の驚異的な速度と精度を実証しています。求積プログラムは、多種多様なテスト積分を用いて実行され、その結果が示されています。完全なオープンソースVBAソースコードとドキュメントが提供されています。 Robert A. van Engelen 著「二重指数求積法 Tanh-Sinh、Sinh-Sinh、Exp-Sinh 式の改善」では、Tanh-Sinh の実装を比較し、Tanh-Sinh の収束速度と精度を向上させるための最適化手法を紹介しています。ソースコード付きの Tanh-Sinh、Sinh-Sinh、Exp-Sinh メソッドが含まれています。