Math by Code
1. 関数型と手続き型
2. 素数たち
3. べきと合同式
4. 関数たち
5. グラフたち
6. オイラー
7. 群たち
8. 環たち
9. 体たち
10. 集合たち
11. 視覚アートたち
12. 音の波たち
13. 微分方程式たち
14. ベクトル場たち
15. 複素関数たち
16. 相対論たち
Zen Suzuki, 2024. 12. 10.
コードを使って、数学に関係のあるテーマを追求したり、 しくみの視覚化の仕方をさぐってみよう。 特に従来型のフロー型、手続き型のプログラミングだけではなく、 数学の集合定義のような内包型、宣言型のコードも取り入れよう。 そうすることで、 プログラミングを処理の連続という視点だけではなく、 集合と集合の関係性という数学の関数に近い視点で、 情報の構造化ができる手がかりが生まれるかもしれません。 そして、それをgeogebraのコマンド活用につなげてみよう。 python, julia ,haskell,javascriptなどの言語のよいところを取り入れてみよう。
gegebraのリストを活用して、数の問題、図の問題を表してみよう。 関数プログラミングはHaskell, Scalaなどの言語もあるけれど、 Python, juliaを使って関数型・宣言型のコード作成に親しもう。 開発環境はVSコードやコマンドラインではなくて、jupyter notebookです。 のせてあるコードは貼り付けて使えます。
素数にかかわるテーマを通して、手計算や数式だけではなく、コードも使って課題解決の手がかりを探る経験をしてみよう。 Julia, Pythonを使ってコードを開発してみよう。
整数のべき計算と≡記号によって、整数を使った巨大な計算量を削減したり、相互関係や規則性を見つけることにつながっていく。これを、Codeを使って、geogebraでも実装したり、調べられるようにしてみよう。
関数を作ったり、関数を変化させるには、やはり関数的なコードが役立つ。 できるだけ宣言的なコードやリストを使って、関数を扱ってみよう。 また、関数をグラフにして見える化もしてみよう。
グラフは、要素のつながりを明確化してくれる。 グラフの構造を考察することはデータの取り扱い方の発想を豊かにしてくれるでしょう。コードの簡潔さを追求しながらも、関数型にこだわらずに必要ならば順次型のコードをつかいながら、グラフ理論を深めていこう。 この考察が、データ分析や情報処理の視点を増やすきっかけになったらいいですね。
オイラーの数学の発想に関連する内容をコードを使って視覚化したり、 計算することで、理解を深めよう。
群は、要素と要素の2項演算ができる集合で、特定の特徴をもつものです。 ただ、結果の表示が抽象的だったり、演算の実行に手間がかかったりします。 そこで、コードを使って、できるだけ、宣言的、内包的な表現を使うことで、意味がわかり、計算の手間を減らしながら内容理解をめざしましょう。
体というフィールドへの参加ルールをゆるめると、環になる。 環を調べることで、体を学ぶときの助けになるし、群で学んだことの類推によって概念を作り出すことにもなる。コードを使うことで、自分で環を操作できるようになろう。そのためにpythonなどの言語やgeogebraの数式の可能性もさぐってみたいね。
体は、必要なルールにぜんぶ合格した行儀のよい集合です。 でも、有理数、実数、複素数という自然体の優良児だけではありません。体の仲間の多様性と関係性を知り、さらには、体の故郷である群・環との強いつながりに気づくことで、視野がひろがるでしょう。そのために、1言語にこだわらず、コードによる数値計算や視覚化を活用してみよう。
集合の個数(濃度、基数)の大小比較や1対1対応としての写像などの視覚化をコードでやってみよう。コードで実装することで、対応の意味づけを能動的に理解できるようになるでしょう。また、python,julia,geogebraの使い方を広げたり、他の言語での表現の可能性にも触れてみよう。
視覚的なアートと数学の関係は深い。 数学を使うことにおいて、創造性を発揮することが、数学的な経験を豊かにしたり、数学そのものの興味を刺激することができたらいいですね。
音は波だから三角関数にかかわる。音楽は音程が度数だから合同式にかかわる。音は時間の中で進むので、パターンと分数にかかわる。数学を知らなくても音楽はできるが、数学によって、音楽理論に親しむ支援ができるかもしれない。おもにgeogebraを使って、コードと音楽をつなげてみよう。
「微分方程式」の型と解法を通して、 関数と関数の関係性の理解、関数そのものの理解を深めよう。 そのために、コードによるしくみの明確化と視覚化を実行してみよう。
微分・積分をスカラー量からベクトル量に拡張してみよう。 そうすることで、思考の対象を広げることができるはずだね。でも、ベクトル場自体はとらえにくい。そこで、コードを使って、ベクトル場のようすや変化を視覚化してみよう。
複素数の和差と積商の演算にかかわる平面での挙動が 周期性や無限反復性という特徴を作り出す。 基本的な構造の特徴が、関数の特徴に伝播し、 その特徴が微分・積分に伝播する。 「正則」と「特異点」、「極」というキーワードのつながりを理解するためにgeobebraのコードを使ってみよう。
相対性理論を 特殊、一般の順に図と数式を変化させることで、 理解ができるように支援しよう。 そのためにgeogebraをできるだけ使ってみよう。