contents memorandum はてな

目次とメモを置いとく場

『Javaで学ぶコンピュータ数学』(平田敦 カットシステム 2013)

著者:平田 敦[ひらた・あつし](1970-) 高校教諭。
Cover Design:Y. Yamaguchi 
NDC:410 数学


CUTT System:Javaで学ぶコンピュータ数学



【簡易目次】
第1章 記号化の数学
第2章 論理の数学
第3章 集合の数学
第4章 行列の数学
第5章 確率の数学
第6章 統計の数学
第7章 微分積分の数学
第8章 計算量の数学



【目次】
はじめに [iii-v]
目次 [vi-vii]


第1章 記号化の数学
1.1 記号化の基本 002
  1.1.1 記号化
    記号に慣れれば苦手解決
    記号化とは
    数学の記号
    プログラミング言語と記号
    プログラミング言語で取り扱うことのできる数値
  1.1.2 問題
  1.1.3 解説
  1.1.4 確認問題
  1.1.5 課題
  今回のまとめ

1.2 基数変換 009
  1.2.1 基数変換
    プログラミングには必須の技術
    基数変換とは
    2進・10進の相互変換
    正の整数の変換方法
    小数を含む数の変換方法
    10進・16進の相互変換
    2進・16進の相互変換
    負数
    int型、long型に格納された数値に関する補足
  1.2.2 問題
  1.2.3 解説
  1.2.4 確認問題
  1.2.5 課題
  今回のまとめ

1.3 実数型のしくみ 023
  1.3.1 実数型のしくみ
    規格は仕事の効率を上げる
    浮動小数点数
    IEEE754とは
    IEEE754の内部
    10進数の数値をIEEE754単精度値に変換する
    IEEE754単精度値を10進数の数値に変換する
  1.3.2 問題
  1.3.3 解説
  1.3.4 確認問題
  1.3.5 課題

1.4 浮動小数点数の誤差 オーバーフロー/アンダーフロー桁落ち、丸め誤差 037
  1.4.1 浮動小数点数で発生するエラーや誤差
    浮動小数点数は数値の近似表
    浮動小数点数の誤差の種類
    オーバーフロー/アンダーフロー
    桁落ち[cancellation of significant digits]
    丸め誤差[round-off error]
  1.4.2 問題
  1.4.3 解説
  1.4.4 確認問題
  1.4.5 課題
  今回のまとめ

1.5 浮動小数点数の誤差 情報欠落、打ち切り誤差 046
  1.5.1 情報欠落、打ち切り誤差
    有限の処理能力を活かすために生じる誤差
    浮動小数点数の誤差
    情報欠落
    打ち切り誤差
  1.5.2 問題
  1.5.3 解説
  1.5.4 確認問題
  1.5.5 課題
  今回のまとめ


第2章 論理の数学
2.1 論理の数学の基本 056
  2.1.1 論理の数学
    プログラマと論理の数学
    論理とは
    論理をプログラムの改善に活用した例
    論理記号
    ショートサーキット演算子[short-circuit evaluation]
    真理値表
  2.1.2 問題
  2.1.3 解説
  2.1.4 確認問題
  2.1.5 課題
  今回のまとめ

2.2 真理値表から論理式をつくる 068
  2.2.1 真理値表と論理式
    論理の正しさを裏打ちする道具
    真理値表から論理式をつくる利点
  2.2.2 問題
  2.2.3 解説
  2.2.4 確認問題
  2.2.5 課題
  今回のまとめ

2.3 論理代数の公式 078
  2.3.1 論理代数の公式
    練習してはじめて活かせる
    論理代数の定理・公式
    公理
    公理その2,あるいは零元則[zero element low]
    単位元
    補元則
    対合則
    べき等則
    交換則
    結合則
    吸収則
    分配則
    ド・モルガンの定理
    排他的論理和
  2.3.2 問題
  2.3.3 解説
  2.3.4 確認問題
  2.3.5 課題
  今回のまとめ

2.4 ベン図・カルノー図 093
  2.4.1 ベン図・カルノー
    論理の視覚化
    ベン図[Venn diagram]
    カルノー図[Karnaugh map]
    2変数の場合のカルノー
  2.4.2 問題
  2.4.3 解説
  2.4.4 確認問題
  2.4.5 課題
  今回のまとめ

2.5 3変数・4変数のカルノー図 106
  2.5.1 3変数・4変数のカルノー
    強力な道具、カルノー
    復習
    3変数・4変数のカルノー図の作り方
    3変数の場合のカルノー
    4変数の場合のカルノー
  2.5.2 問題
  2.5.3 解説
  2.5.4 確認問題
  2.5.5 課題
  今回のまとめ


第3章 集合の数学
3.1 集合の基本、集合と要素 120
  3.1.1 集合の数学の基本
    分類・選別・選択
    集合とは
    集合と要素
    Java言語で無限集合を表現する
    配列で有限集合を表現する
    ArrayListで有限集合を表現する
    集合を表現するためのその他の手段 MapとSet
    要素の図示
    集合の要素
    補集合
    要素の数
  3.1.2 問題
  3.1.3 解説
  3.1.4 確認問題
  3.1.5 課題
  コラム 本書でベン図とオイラー図を呼び分ける理由 134
  コラム 集合と配列の添字 135

3.2 部分集合、空集合 137
  3.2.1 部分集合、空集合
    部分、部分、部分、…
    部分集合とは
    空集合とは
    Java言語と部分集合・空集合
  3.2.2 問題
  3.2.3 解説
  3.2.4 確認問題
  3.2.5 課題
  今回のまとめ

3.3 和集合・積集合、ド・モルガンの法則 145
  3.3.1 和集合・積集合、ド・モルガンの法則
    日本は「和」集合の国
    和集合とは
    和集合の要素数
    和集合と現実問題
    積集合とは
    積集合の要素数
    積集合と現実問題
    集合と数学のおわりに
  3.3.2 問題
  3.3.3 解説
  3.3.4 確認問題
  3.3.5 課題
  今回のまとめ


第4章 行列の数学
4.1 行列の基本、ベクトルの加減算・スカラ倍・乗算 156
  4.1.1 行列の基本
    単純計算を効率良く
    ベクトルの加減算
    ベクトルの加算・減算
    ベクトルのスカラ倍
    ベクトルのスカラ倍の具体例
    ベクトルの乗算
    ベクトルの乗算の具体例
  4.1.2 問題
  4.1.3 解説
  4.1.4 確認問題
  4.1.5 課題
  今回のまとめ

4.2 行列の加減算、乗算 167
  4.2.1 行列の加減算、乗算
    コンピュータのパワーを活かす
    改めて行列とは
    行列の具体的な姿
    行列の加減算
    交換法則・結合法則
    零行列〔ぜろぎょうれつ〕
    行列のスカラ倍
    行列の乗算の一般式
    行列の乗算の例
    行列の乗算の具体例
    行列の乗算に交換法則は成り立たない
  4.2.2 問題
  4.2.3 解説
  4.2.4 確認問題
  4.2.5 課題
  今回のまとめ

4.3 連立一次方程式を行列の数学で解く 179
  4.3.1 連立一次方程式を行列の数学で解く
    技は単純な操作の組み合わせ
    正方行列
    対角行列
    単位行列
    転置行列
    逆行列
    連立一次方程式を行列の数学で解く
  4.3.2 問題
  4.3.3 解説
  4.3.4 確認問題
  4.3.5 課題
  今回のまとめ

4.4 ガウスジョルダン法 189
  4.4.1 ガウスジョルダン法[Gauss–Jordan elimination](掃出法)
    コンピュータで方程式を解く
    ガウスジョルダン法の計算手順
    ガウスジョルダン法の注意点
  4.4.2 問題
  4.4.3 解説
  4.4.4 確認問題
  4.4.5 課題
  今回のまとめ

4.5 ガウスジョルダン法で逆行列を求める 202
  4.5.1 ガウスジョルダン法で逆行列を求める
    時には行きつ戻りつ
    ガウスジョルダン法で逆行列が得られる仕組み
  4.5.2 問題
  4.5.3 解説
  4.5.4 確認問題
  4.5.5 課題
  今回のまとめ


第5章 確率の数学
5.1 確率の基本 214
  5.1.1 確率の数学の基本
    確率の数学をプログラミングに活用しよう
    確率とは
    確率で考える
  5.1.2 問題
  5.1.3 解説
  5.1.4 確認問題
  5.1.5 課題
  今回のまとめ

5.2 順列と組合せ 226
  5.2.1 順列と組合せ
    順列と組合せの活用
    確率と順列・組合せ
    順列[permutation]
    組合せ[combination]
  5.2.2 問題
  5.2.3 解説
  5.2.4 確認問題
  5.2.5 課題
  今回のまとめ

5.3 確率密度関数、期待値・分散・標準偏差 243
  5.3.1 確率密度関数、期待値・分散・標準偏差
    勝負師の学問
    確率変数
    確率密度関数
    期待値
    分散・標準偏差
  5.3.2 問題
  5.3.3 解説
  5.3.4 確認問題
  5.3.5 課題
  今回のまとめ

5.4 連続事象の確率分布、正規分布 255
  5.4.1 連続事象の確率分布、正規分布
    唯一万能はない
    連続事象
    一様分布
    モンテカルロ法Monte Carlo method
    正規分布
    正規分布を使う意味
    その他の確率分布
  5.4.2 問題
  5.4.3 解説
  5.4.4 確認問題
  5.4.5 課題
  今回のまとめ


第6章 統計の数学
6.1 統計の基本、サイクルとトレンド、移動平均 268
  6.1.1 統計の数学の基本
    実利の数学
    統計とは
    グラフを描こう
    サイクルとトレンド
  6.1.2 データから傾向を読み取ろう
    移動平均
  6.1.3 問題
  6.1.4 解説
  6.1.5 確認問題
  6.1.6 課題
  今回のまとめ

6.2 回帰直線 281
  6.2.1 回帰直線
    データの「流れ」を見極める道具
    線形回帰
    Officeソフトで回帰直線
    最小二乗法とは
    最小二乗法の原理
    数式の導出
    回帰直線と測定値の差をとる
    差の二乗の合計をとる
    式の展開と整理
    混乱しやすい事項の解説
    aとbを変数として式を見る
    偏微分
    条件を当てはめて連立方程式をたてる
    連立方程式を解く
  6.2.2 問題
  6.2.3 解説
  6.2.4 確認問題
  6.2.5 課題
  今回のまとめ

6.3 相関係数 300
  6.3.1 相関係数
    大風ふけば
    相関係数とは
    相関係数[correlation coefficient]
    相関係数を導く
    目的 回帰直線が良く当てはまっているかを知りたい
    準備 分散の計算方法
    最小二乗法で回帰直線を求める
    誤差の合計を最小にする
    決定係数[coefficient of determination]
    相関係数
    相関係数の利点
  6.3.2 問題
  6.3.3 解説
  6.3.4 確認問題
  6.3.5 課題
  今回のまとめ


第7章 微分積分の数学
7.1 微分積分の基本、ニュートン・ラフソン法 322
  7.1.1 微分積分の基本とニュートン・ラフソン法
    微分積分は身近な数学
    微分とは
    積分とは
    微分積分数値計算
    数値微分
    数値積分
    ニュートン・ラフソン法のアルゴリズム
    例題
  7.1.2 問題
  7.1.3 解説
  7.1.4 確認問題
  7.1.5 課題
  今回のまとめ

7.2 数値微分 336
  7.2.1 数値微分
    「いいかげん」と「良い加減」は違う
    数値微分とは
    差分近似[difference approximation]
    中心差分
    微小な量 h の決定方法
  7.2.2 問題
  7.2.3 解説
  7.2.4 確認問題
  7.2.5 課題
  今回のまとめ

7.3 数値積分 349
  7.3.1 数値積分
    コンピュータの計算パワーを活かす
    数値積分とは
    区分求積法[quadrature]
    台形公式[trapezoidal rule]
  7.3.2 問題
  7.3.3 解説
  7.3.4 確認問題
  7.3.5 課題
  今回のまとめ


第8章 計算量の数学
8.1 計算量の基本とO(n),O(log[2] n) 360
  8.1.1 計算量の基本とO(n),O(log[2] n)
    見当をつける
    計算量[computational complexity]とは
    計算量の記号
    計算量と実際のコード
    計算量:リニアサーチの場合 O(n)
    計算量:バイナリサーチの場合 O(log[2] n)
   8.1.2 問題
  8.1.3 解説
  8.1.4 確認問題
  8.1.5 課題
  今回のまとめ

8.2 最小の計算量から爆発する計算量まで、O(1),O(n^a),O(2^n),O(n!) 369
  8.2.1 最小の計算量から爆発する計算量まで
    物事はシンプルに
    計算量:ハッシュサーチの場合 O(1)
    ハッシュ関数のコード例
     O(1) のアルゴリズムは常に最速か?
    計算量:O(n^a) となる場合
  8.2.2 計算量:O(a^n) となる場合
  8.2.3 問題
  8.2.4 解説
  8.2.5 確認問題
  8.2.6 課題
  今回のまとめ


付録 381
  確認問題解答 [382-386]
  参考文献 [387]
索引 [388-393]
おわりに(2013年7月2日 平田 敦) [394]