Rustで数値計算を書く最小セット
Rustと計算物理学では、 本書でRustを使う理由、開発環境、結果保存と可視化、本書の進め方を確認しました。 計算機の基本モデルでは、 CPU、メモリ、cache、stack、heap といった計算機の基本モデルを確認しました。 本章では、それをRustの数値計算コードとして書くための最小セットを整理します。
本章はRust Bookを置き換えるものではありません。対象を、計算物理のコードで繰り返し使う要素に絞ります。
f64、usize、浮動小数点数- 複素数と
num-complex - 関数、trait、
let、mut、if、for Vec<f64>、配列、slice- 所有権、借用、可変借用
struct、Result- 小さい単体テスト
src/lib.rs、src/main.rs、module境界
AI agent を使う場合でも、これらの境界を理解しておくことは重要です。 agent に実装を任せる場合でも、関数の入力と出力、どのデータを所有するのか、 どこを可変にするのか、どの条件をテストするのかは、人間が確認する必要があります。
本章の構成
-
数値型・関数・小さいテスト
f64、usize、関数、trait、制御構造、cargo testによる小さい検証を扱います。 -
浮動小数点演算と誤差 丸め誤差、桁落ち、情報落ち、浮動小数点数の比較、複素数、 Kahan summation などを扱います。
-
Vecとスライス 1次元の数値データを
Vec<f64>で持ち、関数境界では&[f64]や&mut [f64]を使う方法を確認します。 -
Resultとmodule境界 入力不正、配列サイズ不一致、収束失敗を
Resultで扱い、計算本体、入出力、実行用binaryを分ける方針を説明します。
本章を終えると、以降の章で出てくる小さな数値計算関数を読み、テストし、AI agent に安全に修正を任せるための基礎が整います。