0 はじめに この記事では高速剰余変換と実装について解説していきます。この記事を書く上で参考にしたのはこのページです。 http://ushiro.jp/method/fmt.htm http://www.cs.t-kougei.ac.jp/nsim/method/fmtbase.htm 基本的にはこのページで私が理解したとこ(+α)を解説します。多倍長整数の世界に興味のある方に少しでも面白さが伝わればと思い書きました。とか言ってますが私も全然素人です。ここではこの資料にのっとり高速剰余変換をFMT(Fast Modulo Transformation)と呼ぶこととします。 ←実は私がやってるのはNTT(数論変換)というようなものだったようで、詳しくは(FFTとNTTとFMTの違い)を見るとわかる通り剰余下でFFTやること=FMTではなかったようで私はずっと勘違いしていました。以下FMTは
![高速剰余変換で多倍長整数の乗算をGPUで実装して円周率3億桁計算した話 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/94d70b2035368c9b3ee2e4bf28776d22cd058399/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JUU5JUFCJTk4JUU5JTgwJTlGJUU1JTg5JUIwJUU0JUJEJTk5JUU1JUE0JTg5JUU2JThGJTlCJUUzJTgxJUE3JUU1JUE0JTlBJUU1JTgwJThEJUU5JTk1JUI3JUU2JTk1JUI0JUU2JTk1JUIwJUUzJTgxJUFFJUU0JUI5JTk3JUU3JUFFJTk3JUUzJTgyJTkyR1BVJUUzJTgxJUE3JUU1JUFFJTlGJUU4JUEzJTg1JUUzJTgxJTk3JUUzJTgxJUE2JUU1JTg2JTg2JUU1JTkxJUE4JUU3JThFJTg3MyVFNSU4NCU4NCVFNiVBMSU4MSVFOCVBOCU4OCVFNyVBRSU5NyVFMyU4MSU5NyVFMyU4MSU5RiVFOCVBOSVCMSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ZjNjNzY1MTM1ZWM1NjVmZjJhMTAyNjhmZGQzNjc3ZDE%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBSZWRfQmxhY2tfR1BHUFUmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWZiNDc4MDlmNGRhMTE3ODhmNjFhZDBmZjJiNzZhZWRk%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Dd277e0276240356c3b30a79571b50378)