
SageMathで学ぶ微分・積分
線形代数に続き微分・積分についてもSageMathを使って学ぶヒントを提供したい。一変数の微分・積分については、大抵の方が高校数学で多少学んだ経験があると思われる。大学では多変数の微分・積分まで範囲が広がる。また、極限の取扱いが厳密になる。
ただ、極限の厳密な取扱いで必要な実数の性質に関することやε-δ論法などは数学科以外の人は必要ないだろう。それより、微分・積分をいかに応用で使えるように慣れるかの方が重要と思われる。そのためにも、実際の計算ができなければ役立てることにはならないだろう。
役立てることを前提に、微分・積分を学ぶとき、SageMathで関連する関数について紹介する。参考文献は前回の線形代数でもふれた“Computational Mathematics with SageMath” (文献[1]とする) である。
数列の部分和の計算には、関数 sum を用いる。数列や関数の極限の計算には、関数 limit を用いる。一変数の微分や多変数の偏微分の計算には、関数 diff を用いる。一変数の積分や多変数の重積分の計算には、関数 integrate を用いる。級数の計算には関数には、関数 series を用いる。テイラー展開には、関数 taylor を用いる。
これだけの関数の使い方さえマスターすれば何とかなるので、自力で計算テクニックを習得するより遥かに楽することができる。余裕があれば手計算のテクニックも眺めておいた方がベターなのは言うまでもない。
多変数の極限や偏微分・重積分の概念についての理解に使える直接的な関数はないが、plot, plot3d, implicit_plot, implicit_plot3d などの可視化関数で、関数のグラフを容易に描くことができるので、接線や接平面、積分領域の理解に役立てることができる。また、多変数では線形代数を使って記述することで視覚的にも容易になることも理解しておいたほうがよい。以下に f(x,y,z) = 0 で定義される x, y の陰関数 z の極値を求める例を示す。手計算に比べ遥かに簡単である。
SageMath は応用の観点からは大いに利用できる。先に述べた関数を利用することで、平面曲線や空間曲線に関する問題や曲面に関する問題、さらに包絡線や包絡面に関する問題でも大いに活用することができる。