幸谷智紀
第一部:Pythonによる方程式求解プログラミング
- Pythonプログラミングの基礎
- NumPyとmatplotlib
- 代数方程式を解いてみる(1) 2次方程式まで
- 代数方程式を解いてみる(2) n次方程式は解けるか?
- 非線形方程式を解いてみる(1) Newton法とSciPy.opt
- 連立一次方程式を解いてみる(1) 密行列に対する直接法
- 非線形方程式を解いてみる(2) Jacobi行列とNewton法
- 常微分方程式を解いてみる(1) 初期値問題
- 常微分方程式を解いてみる(2) 境界値問題
- 連立一次方程式を解いてみる(2) 疎行列に対する反復法
- 偏微分方程式を解いてみる(1) 熱方程式
- 偏微分方程式を解いてみる(2) Poisson方程式
- 最終課題:ベンチマークテストと高性能化
第二部:C/C++によるコンソール版高性能計算プログラミング
「LAPACK/BLASプログラミング」サポートページ
「多倍長精度数値計算」サポートページ
- 高性能計算とは? コンピュータにおける「演算」
- 浮動小数点演算:低精度から高精度まで
- C/C++プログラミング基礎と高速化(並列化)手法
- LAPACK/BLAS演習(1) BLAS1, BLAS2, BLAS3
- べき乗法とOpenMPによる並列化
- LAPACK/BLAS演習(2) 連立一次方程式
- 逆べき乗法
- LAPACK/BLAS演習(3) 標準固有値問題
- 多倍長精度演算: QDとmpreal
- MPLAPACK/MPBLAS演習:べき乗法,逆べき乗法の多倍長精度実装
- 混合精度反復改良法の実装
- BNCmatmulと混合精度反復改良法の高性能化
- 最終課題:行列指数関数exp(A)の実装
第三部:Web上でのWASM+Node.js高性能計算プログラミング
- Web上でのHPC:サーバサイド(Flask, PHP + C++)からクライアントサイド(WASM)へ
- Webプログラミングの基礎(1): HTML, CSS, JavaScript
- Webプログラミングの基礎(2): DOMとJavaScript
- Node.jsとexpressフレームワーク
- SQLiteとNode.js
- WASM演習(1) WASMとJavaScript
- WASM演習(2) Emscripten開発環境
- LAPACK/BLAS on Web演習(1): べき乗法と逆べき乗法
- LAPACK/BLAS on Web演習(2): exp(A)の実装
- GMP, MPFR on Web演習
- BNCmatmul on Web演習(1) べき乗法と逆べき乗法
- BNCmatmul on Web演習(2) 混合精度反復改良法
- 最終課題:ベンチマークテストツールの作成