Open9
Rustで数値計算するときに使うもの
Rustで数値計算するために使うであろうものをリスト化したい
結局Rustで数値計算の目次相当を作るだけになるかもしれない
2023年1月3日現在でRustで数値計算にあるものを羅列
基本的な機能
- 数値型関係の
num
crate- 整数型
- 有理数型
- 複素数型
- ...
- (複素数と実数は
cauchy
crate?) - 多次元配列
ndarray
crate- ndarrayの線形代数演算
ndarray-linalg
crate - faer crate: Rust BLAS/LAPACK alternative
- ndarrayの線形代数演算
- 高速Fourier変換
fftw
crate - 乱数
rand
crate- SIMD-oriented Fast Mersenne Twister
sfmt
crate
- SIMD-oriented Fast Mersenne Twister
汎用的な機能で数値計算に関係するもの
- グラフのプロット
plotlib
crate - 時間計測・ベンチマーク
std::time
cargo bench
-
criterion
crate -
flamegraph
crate
- C(++) コードをコンパイル(?)
cc
crate - 並列化
-
rayon
crate
-
その他
- MKLを使う
intel-mkl-src
crate
ここにめっちゃまとまってた
HPC環境のRustの話
並列計算をC++とRustで比較
TODO
- 初等函数・特殊函数
- 最適化
- フィッティングとか回帰とか→統計関係の中?
- 微分方程式→
ode_solver
crate? - 求積
- 補間
- bit演算
- GPU
profiler
Scientific Computing in Rust
Scientific Computing in Rustというコミュニティが生えていて,年1のworkshopの開催と月1のnewsletterの配信を行なっている模様.
また,コミュニティのZulipサーバーもある
詳細は以下
一週間でなれる!スパコンプログラマ Rust版