Takuya Kawanishi

1. イントロダクション

1.1 演習の概要

背景と目的

  • 数学ツールの発展

  • 紙の上の計算をかなりの部分ツールに置き換えることができる.

  • 数学ができなくても大丈夫?

  • 大学 1, 2 年で学んだ数学はほとんどツールで計算できる.

    • 細かな計算よりは, 何ができるかの「地図」を頭の中につくることが重要.

  • エンジニアの活動の上でツールの活用は今後必須

  • Python をプログラミング言語としてではなく,

  • Numpy, Scipy, Sympy などを「ツール」として使うプラットフォームと考える.

  • 微積分, 線形代数の問題をこれらのツールで解く.

  • シミュレーションツールとして

  • 最適化ツールとして.

内容

  • Python (Jupyter Notebook) での計算演習

    • エンジニアにとって強力なツールである.

    • AI での事実上の標準となっている.

  • 各人の数学力のアップ

    • 数学が弱い人は挽回するチャンス.

    • 数学ができる人には, 次に学ぶべきものを提案.

回数

配信日

内容

備考

1

12/10

イントロダクションJupyter Notebook インストール数学ツールのすすめ

2

12/17

Jupyter Notebook 動作の確認ハンズオン行列式, 固有値

3

12/24

Numpy行列の和・積, 分解内積・行列式・固有値

4

1/7

Numpy行列の指数関数

5

1/12

データの取扱Pandas DataFrameMatplotlib によるグラフ

6

1/21

Scipy方程式の解, 最小値(最適化)

7

1/28

Newton 法

8

2/4

予備日

成績評価

  • 各回レポートを課す.

  • レポートによって成績評価をする.

  • 全てのレポートを提出することが必須.

Anaconda (for windows) のインストール

1.2 数学系ツール

無料で使えるツール

  • なぜ無料(Freemeam, Open source)

  • Wolfram alpha

  • R

  • Scilab, Octave

Python を使う理由

  • データ解析の事実上の標準

  • 機械学習のライブラリが豊富

  • 高度なシミュレーションが可能(プログラミング言語)

  • Jupyter Notebook, Jupyter Lab が使える.

プログラミング言語でなく数学ツールとして使う意味

  • プログラミングは習得するのに時間がかかる.

  • プログラミング時間のほとんどはデバッグに費やされる.

  • やりたいことはプログラミングではなく, 計算

  • だれかがライブラリを書いてくれて, それが何万人, 何十万人に使われてちゃんと動くことがわかっているなら, それを使えば良い(車輪の再発明をするな).

  • 方程式を解くのにプログラミングをするのは無駄, ライブラリーを使え.