多倍長整数の掛け算への応用を前提とした高速フーリエ変換高速化に関する検証
大きな桁数の多倍長整数同士の乗算速度は、高速フーリエ変換を用いた畳み込みの速度に大きく依存します。今回は、高速フーリエ変換(FFT)を用いた乗算について、アルゴリズムや実装の工夫による実行速度の改善度合いを検証してまとめてみることにしました。本記事は個人的な記録であり、決して高速な実装ではない点に
大きな桁数の多倍長整数同士の乗算速度は、高速フーリエ変換を用いた畳み込みの速度に大きく依存します。今回は、高速フーリエ変換(FFT)を用いた乗算について、アルゴリズムや実装の工夫による実行速度の改善度合いを検証してまとめてみることにしました。本記事は個人的な記録であり、決して高速な実装ではない点に
大きなJSONファイルの読み書きをする必要があったので、Pythonから使える高速なJSONライブラリのベンチマークを行いました。比較対象のライブラリはChatGPT 4oを使って調査しました。この記事の結論書き込みを高速化したい→orjson読み込みを高速化したい→py
installなどで手間取った時にいちいち検索するのが面倒なので、自分用の備忘録として参考にした or 実際に行った解決方法をまとめようと思います。poetry installが全然終わらないときkeyringを読まないようにすればいい参考:https://qiita.co
量子コンピューターを用いた最適化アルゴリズムの一つに、Quantum Approximation Optimization Algorithm (QAOA) があります。このアルゴリズムは主にゲート型の量子コンピューターで動作するアルゴリズムであり、実行するには量子回路のシミュレーターもしくは本物
TL;DRtkinter >= 8.6を使えばpng画像を表示することができる手元環境がtkinter < 8.5の場合はbrew install tcl-tkの後Pythonを再インストールすることでtkinterのバージョンを更新できる前提計算機環境
raspberry piをクラスタ計算機として使ってみるために円周率計算のプログラムを作成していたところ、数学に現れる定数の計算速度を競うコンテストサイト(?)Constantを発見しました。 せっかくだし任意精度計算のためのプログラムから作ってみるか、ということで色々やってみたことを書きます。と
TL;DRXcodeをインストールし、コマンドラインツールの参照先を変更する。発生したエラーについて私の環境では、cargo run初回実行時に以下のようなエラーが発生し、rugのインストールが失敗しました。 checking for sysctlbyname..
今回はMPIを用いてChudnovskyの公式による円周率計算をマルチノード並列化できるようにしていきます。今回使用するのはMPI bindings for Rustです。(rustネイティブな分散並列用のクレートを知らないので、馴染みのあるMPIを選択しました。)実行環境は以下のとおりです。
現在最速とされている、Chudnovskyの公式を用いて円周率を計算します。言語はRustです。実装にあたって、 こちらの記事を参考にしました。詳細な解説はリンク先をご覧ください。最終的な目標は分散システムでの並列計算ですが、本記事ではまず単一ノードでのスレッド並列を実装します。実装
せっかくRaspberry Piクラスタを構築したので、並列計算を試してみたい、ということで円周率を計算してみることにしました。ただC++でプログラムを書いても面白くないので、以前から関心があったRustの学習を兼ねて実装してみました。Rust環境構築Rustのインストール