Python Sympy を使用して偏導関数を計算する

Neema Muganga 2022年4月14日
Python Sympy を使用して偏導関数を計算する

偏導関数は、1つの変数ではなく、2つ以上の他の変数を持つ関数の導関数です。関数はいくつかの変数に依存しているため、導関数は偏導関数に変換されます。

たとえば、関数 f(b,c) が存在する場合、関数は 2つの変数 bc に依存します。これらの変数は両方とも互いに独立しています。ただし、この機能は、bc の両方に部分的に依存しています。したがって、f の導関数を計算するために、この導関数は偏導関数と呼ばれます。b を参照して f 関数を微分する場合、定数として c を使用します。それ以外の場合、c に関して f を微分すると、代わりに b を定数として使用します。

Python では、Sympy モジュールを使用して、数学関数の偏導関数を計算します。このモジュールは、シンボルを使用して、さまざまな種類の計算をすべて実行します。また、方程式の解法、式の簡略化、導関数と極限の計算、およびその他の計算にも使用できます。

Sympy は、使用する前に手動でインストールする必要があります。したがって、コンピュータ端末に CD を挿入し、次のコマンドを実行して sympy パッケージをインストールします。

pip install sympy

sympy を使用して偏導関数を計算するには、最初にシンボルから sympy パッケージをインポートする必要があります。

コンピューターは、値の計算を、紙に書き留める方法とは異なる方法で評価します。したがって、ここでのシンボルは、評価される実際の値を保持する変数の形式になります。したがって、計算中、コンピューターは変数を接続されている値に操作します。

次に、次の例を使用して、関数の偏導関数を導出しましょう。

f(a, b, c) = 5ab - acos(c)+ a^2 + c^8b
    part_deriv(function = f, variable = a)    

関数を偏導関数に微分した後に期待される出力は、2*a + 5*b - cos(c) です。

上記の関数の偏導関数を評価するために、a に関してこの関数を区別しますが、bc は定数になります。

from sympy import symbols, cos, diff

a, b, c = symbols("a b c", real=True)
f = 5 * a * b - a * cos(c) + a ** 2 + c ** 8 * b

# differntiating function f in respect to a
print(diff(f, a))

出力:

2*a + 5*b - cos(c)