忍者ブログ
統計、機械学習、AIを学んでいきたいと思います。 お役に立てば幸いです。

【Python】SymPyで偏微分をマスター!多変数関数の計算結果をコード形式で出力する

Pythonの強力な数式処理ライブラリ「SymPy」を使って、多変数関数 $f(x, y) = x^2 + 3 + y^4 + 5$ の偏微分を計算する方法を解説します。今回は、計算結果をそのままプログラムに再利用しやすい「標準出力形式」で表示します。

1. 偏微分のルール

偏微分とは、特定の変数だけに注目して微分し、それ以外の変数はすべて「定数(ただの数字)」として扱う計算です。

  • xで偏微分:x^2を微分して 2*x となり、それ以外の $y^4$ や定数は消えます。
  • yで偏微分:y^4 を微分して 4*y**3 となり、それ以外の $x^2$ や定数は消えます。

2. Pythonサンプルプログラム

余計な装飾設定を省き、標準の print() 関数で結果を出力するシンプルな構成です。

# -*- coding: utf-8 -*-
from sympy import symbols, diff

def main():
    # 1. 変数x, yを記号として定義
    x, y = symbols('x y')

    # 2. 関数の定義 f(x, y) = x^2 + 3 + y^4 + 5
    f = x**2 + 3 + y**4 + 5

    # 3. xおよびyで偏微分を実行
    df_dx = diff(f, x)
    df_dy = diff(f, y)

    # 4. 結果を表示
    print("--- xでの偏微分結果 ---")
    print(df_dx)
    
    print("\n--- yでの偏微分結果 ---")
    print(df_dy)

if __name__ == "__main__":
    main()

3. 実際の実行結果

このコードを実行すると、コンソールには以下のように出力されます。*(掛け算)や **(累乗)がそのまま表示されるため、エンジニアにとって非常に直感的です。

--- xでの偏微分結果 ---
2*x

--- yでの偏微分結果 ---
4*y**3

4. まとめ

SymPyのデフォルト出力は、Pythonのコードとしてそのまま通用する形式です。複雑な数式も、この形式で出力すればロジックの確認や他のスクリプトへの移植がスムーズに行えます。見た目の美しさよりも「実用性」を重視する場面では、この標準出力が最も頼りになります。


PR