研究のための計算の実務 50 本ノック
学部50 問。全問無料です。
対象読者: 学部の線形代数・微積分と Python の基本、および本テーマ第 1〜6 章(再現性・NumPy・精度・並列化・長時間ジョブ・検算)の内容を学んだ人。研究での数値実験の経験は仮定しません。
執筆: Claude Code(Sonnet 5.5)・監査 2 回(Claude Code)・最終 2026-10-12
読み込んでいます…
この冊について(出典・構成・使う定理)
主な参考文献
- N. J. Higham, Accuracy and Stability of Numerical Algorithms, 2nd ed., SIAM
- J. L. Hennessy, D. A. Patterson, Computer Architecture, A Quantitative Approach, 6th ed., Morgan Kaufmann
- T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Introduction to Algorithms, 3rd ed., MIT Press
- S. Williams, A. Waterman, D. Patterson, Roofline: an insightful visual performance model for multicore architectures, Communications of the ACM 52 (2009)
問題はすべて Rikai の書き下ろしです。参考文献の演習や本文は転載していません。
構成
- 1〜8: 再現できる数値実験
- 9〜18: NumPy の配列計算
- 19〜26: 精度の選び方と誤差予算
- 27〜34: 並列化と GPU
- 35〜40: 長時間ジョブの管理
- 41〜50: 検算と検証
形式: 単一選択 17・複数選択 8・○× 6・数値 8・並べ替え 3・誤り探し 4・記述 4。難易度 ★〜★★★★: 4 / 26 / 20 / 0。
この冊で使う定義・定理(69)
- 定義 2.2 チェックポイントと中断のある実行 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 37 番
- 定義 4.1 故障の Poisson モデル 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 35, 36 番
- 例 3.2 仮定を 1 つずつ落とした 3 つの反例 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 37 番
- 命題 3.3 キーつきの保存による冪等性 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 39 番
- 命題 6.1 残りの反復回数の見積もり 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 39 番
- 命題 5.1 打ち切りによる選択の偏り 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 38 番
- 定理 4.2 故障があるときの 1 区間の期待時間 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 36, 40 番
- 定理 3.1 再開の同値性 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 37 番
- 定理 4.3 最適なチェックポイント間隔(Young の近似) 長時間ジョブの管理:チェックポイント・再開の冪等性・最適な保存間隔 → 35, 39, 40 番
- 定義 3.1 ブロードキャスト NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 9, 13 番
- 定義 5.1 添字による縮約 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 15 番
- 定義 7.1 符号つき w ビット整数の演算 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 14, 18 番
- 定義 2.1 多次元配列 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 9, 10, 11 番
- 定義 4.1 ufunc と軸に沿った縮約 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 16 番
- 定義 2.2 ビューとコピー NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 12 番
- 例 6.2 距離行列の 3 通りの計算と桁落ち NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 17 番
- 例 2.5 reshape がコピーを要する場合 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 12 番
- 命題 4.2 重なりのある更新 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 16 番
- 命題 3.2 ブロードキャストの結合は半束をなす NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 13 番
- 命題 7.2 固定幅整数の演算は 2ʷ を法として閉じる NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 14, 18 番
- 命題 2.3 転置・スライス・逆順・軸の追加は複製なしで表せる NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 10, 11, 12 番
- 命題 6.1 ベクトル化は演算の回数を変えず、作業領域を変える NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 17 番
- 定理 5.2 行列の鎖の最小の乗算回数 NumPy で書く配列計算:ブロードキャスト・メモリ配置・縮約の順序 → 15 番
- 定義 5.1 演算強度 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 32 番
- 定義 2.2 強スケーリングと弱スケーリング 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 30 番
- 定義 2.1 速度向上と効率 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 27, 28, 29, 34 番
- 定義 4.1 計算グラフ・仕事量・依存鎖の長さ 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 31 番
- 例 4.3 逐次和と対ごとの和の依存鎖 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 31 番
- 命題 3.3 Karp–Flatt 指標 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 29 番
- 命題 5.4 加速器に移す損益分岐 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 33 番
- 命題 5.2 roofline モデル 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 32, 33 番
- 命題 4.2 Brent の評価 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 31 番
- 定理 3.1 Amdahl の法則 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 27, 28, 30 番
- 定理 3.2 Gustafson の法則 並列化と GPU:Amdahl・Gustafson の法則、仕事量と依存鎖、roofline モデル → 28, 30, 34 番
- 定義 2.2 誤差予算 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 23 番
- 定義 2.1 作業精度・目標精度・有効桁 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 19, 20, 25 番
- 例 5.4 √2 を 3200 ビットまで 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 26 番
- 補題 4.1 指数級数 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 21 番
- 命題 6.1 球算術の保証と限界 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 22, 24 番
- 命題 4.2 差と和で失う桁数 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 20, 21, 25 番
- 命題 2.3 誤差の 3 項への分解 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 23 番
- 命題 5.3 精度を倍にしながらの反復 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 26 番
- 命題 7.1 2 精度の差は丸め誤差の推定値 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 22, 24 番
- 定理 3.1 必要な作業桁数 精度の選び方:倍精度・任意精度・球算術と誤差予算 → 19 番
- 定義 2.1 数値実験 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 1 番
- 定義 2.3 実行記録 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 2, 7, 8 番
- 定義 5.1 擬似乱数生成器 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 5 番
- 定義 2.2 再現の水準 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 1, 4, 6, 8 番
- 例 5.3 実験ごとに生成器を分ける 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 5 番
- 命題 4.1 実行記録の内容ハッシュの衝突確率 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 2 番
- 命題 3.1 浮動小数の加法は結合的でない 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 3 番
- 命題 4.3 17 桁の 10 進で往復する 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 7 番
- 命題 6.1 種についての平均と標準誤差 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 6 番
- 命題 5.2 種による決定性 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 5 番
- 定理 3.4 和の順序による差の上界 再現できる数値実験:乱数種・環境・設定の記録と決定性 → 3, 4, 8 番
- 系 3.7 丸めの雑音があるときの観測次数 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 49 番
- 定義 2.2 数値的な証拠・反例・証明 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 45, 46, 50 番
- 定義 3.1 観測次数 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 41 番
- 定義 2.1 検証と妥当性確認 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 43 番
- 例 5.2 調和振動子のエネルギーのずれ 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 47 番
- 例 6.3 無作為な探索が見逃す反例 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 48, 50 番
- 例 5.4 転置を取り違えた行列ベクトル積はどの検査で見つかるか 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 44 番
- 命題 5.1 保存量のずれの次数 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 47 番
- 命題 6.1 共通の原因があると見逃しの確率は積にならない 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 46 番
- 命題 5.3 不変性の検査が検出できる誤り 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 44 番
- 命題 4.1 残差と誤差 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 43 番
- 定理 3.3 観測次数の収束 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 41, 42, 49 番
- 定理 6.2 無作為な反例探索で言える範囲 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 45, 48, 50 番
- 定理 3.5 3 つの刻みによる次数の推定と誤差の推定 検算と検証:誤差の次数・残差・保存量による検査と、数値実験と証明の区別 → 42 番
運営: 夢現技研合同会社 ・料金 ・利用条件 ・特定商取引法に基づく表記