ソフトウェア開発において数学のスキルがますます重要になっています。時代をリードする企業はデータサイエンスや機械学習を取り入れ活用し、ゲーム開発、コンピューターグラフィックスやアニメーション、画像や信号処理、価格設定、株式市場分析など、数学の知識が多くのシーンで役立ちます。
本書では、プログラミングに必要となる数学:線形代数、微積分、機械学習の基礎を学び、実際のソフトウェア開発で活用できるPythonの主要ライブラリの使い方を習得します。実際のコーディングはJupyter Notebookを通して学びます。
難解な教科書とはならないよう、数学的概念を実世界に当てはめた例題をたくさん取り上げます!
1章 プログラムで数学を学ぶ
[第1部] ベクトルとグラフィックス
2章 2次元ベクトルで描画する
3章 3次元にする
4章 ベクトルやグラフィックスを座標変換する
5章 行列で座標変換を計算する
6章 より高い次元へ一般化する
7章 連立1次方程式を解く
[第2部] 微積分と物理シミュレーション
8章 変化の割合を理解する
9章 移動する物体をシミュレーションする
10章 文字式を扱う
11章 力場をシミュレーションする
12章 物理シミュレーションを最適化する
13章 音をフーリエ級数で分析する
[第3部] 機械学習への応用
14章 データに関数を当てはめる
15章 ロジスティック回帰でデータを分類する
16章 ニューラルネットワークを訓練する
付録A Pythonのセットアップ
付録B Pythonのヒントとコツ
付録C OpenGLとPyGameによる3次元モデルのロードとレンダリング
本書は、プログラミング経験がある程度あり「数学スキルを再確認したい」「数学の応用についてプログラミングを通じて学びたい」と考えている人のための本で中学・高校で習った数学の知識があれば大丈夫です。
例題に沿って、すべての練習問題に挑戦することで、本書を最大限に活用することができます。