Keyboard shortcuts

Press or to navigate between chapters

Press ? to show this help

Press Esc to hide this help

Rustで数値計算を書く最小セット

Rustと計算物理学では、 本書でRustを使う理由、開発環境、結果保存と可視化、本書の進め方を確認しました。 計算機の基本モデルでは、 CPU、メモリ、cache、stack、heap といった計算機の基本モデルを確認しました。 本章では、それをRustの数値計算コードとして書くための最小セットを整理します。

本章はRust Bookを置き換えるものではありません。対象を、計算物理のコードで繰り返し使う要素に絞ります。

  • f64usize、浮動小数点数
  • 複素数と num-complex
  • 関数、trait、letmutiffor
  • Vec<f64>、配列、slice
  • 所有権、借用、可変借用
  • structResult
  • 小さい単体テスト
  • src/lib.rssrc/main.rs、module境界

AI agent を使う場合でも、これらの境界を理解しておくことは重要です。 agent に実装を任せる場合でも、関数の入力と出力、どのデータを所有するのか、 どこを可変にするのか、どの条件をテストするのかは、人間が確認する必要があります。

本章の構成

  • 数値型・関数・小さいテスト f64usize、関数、trait、制御構造、cargo testによる小さい検証を扱います。

  • 浮動小数点演算と誤差 丸め誤差、桁落ち、情報落ち、浮動小数点数の比較、複素数、 Kahan summation などを扱います。

  • Vecとスライス 1次元の数値データをVec<f64>で持ち、関数境界では&[f64]&mut [f64]を使う方法を確認します。

  • Resultとmodule境界 入力不正、配列サイズ不一致、収束失敗をResultで扱い、計算本体、入出力、実行用binaryを分ける方針を説明します。

本章を終えると、以降の章で出てくる小さな数値計算関数を読み、テストし、AI agent に安全に修正を任せるための基礎が整います。