pythonで数学的な演算をするモジュール「sympy」について説明します。
資料はこちら → Jupyterその6
p.1 1/3を計算する場合と1/3のまま表示する場合があります。1/3を実数に換算する場合は「N(元の値、桁数)」とします。円周率、ネイピア数、無限は、各々「pi」「E」「oo」を用います。
p.2 Excelで階乗は「^」ですが、sympyでは「**」を用います。Rational(分子,分母)で演算すると分数のまま表示されます。 sympyのスクリプト「sqrt」、pythonのスクリプト「math.sqrt」での表示に違いを比較しました。sympyの場合はルートなどの演算記号が表示されますが、pythonのmathでは計算結果がダイレクトに表示されています。
p.3 xというシンボル作成には「symbols('x')」あるいは「Symbol('x')」を用います。複数の式を加算して整理する場合は「simplify(式1+式2)」を用います。式の展開する場合は「expand(式)」、因数分解する場合は「factor(式)」を用います。
p.4 数値の代入は「.subs[(シンボル、値)、 (シンボル、値)、‥‥]」、方程式を解く場合、一元方程式は「solve(式)」、二元は「solve(式、数字)」とします。
p.5 連立方程式は「solve((式1,式2))」で解きます。 pythonの場合「y=x」と書くと、yにxを代入という意味になるので、黄色の網掛のようにして方程式を解きます。
p.6 微分は「diff(式、シンボル、階数)」にします。階数は1回微分は1、2階微分は2です。導関数の極限の式でも計算可能です。この場合は、「limit(式、シンボル、極限値)」です。極限値は0ですね。 この事例のyは一般的にはhで表すことが多いですね。 不定積分は「integrate(式,x)」、定積分は「integrate(式,(x,下限,上限))」で計算します。
いかがですか? Excelではできない演算がpythonでは簡単に取り扱えそうですね。