見出し画像

記号計算ライブラリ SymPy 導入(Python)

Pythonで記号計算を行うためのライブラリである「SymPy」を使うと様々な計算ができるようなので、実際に使ってみることにしました。まずは、導入編として、インストールから簡単な計算までの流れを本記事に書いていきます。


SymPy はどんな計算ができるのか?

冒頭では「記号計算」と書きましたが、具体的には次のような計算ができます。

・数式の簡約化「x^2 + x」→「x*(x+1)」など
・数式の展開「x*(x+1)」→「x^2 + x」など
・複素数の計算
・記号の置換「sin」→「cos」など
・因数分解
・部分分数分解
・微積分
・テイラー展開
・微分方程式
・差分方程式
  その他、多数の演算ができます。

概要は SymPy の公式ページ や Wikipedia を参照してみてください。


SymPyインストール

SymPy はコマンドプロンプトからpipを使ってインストールします。細かい方法は私が過去に書いた記事を参照してみてください。「Python パッケージ pip インストール(オフライン・アクセス制限PC向け)」

コマンドプロンプトを立ち上げたら、以下のコマンドを入力して実行します。

py -m pip install sympy

これで次のように表示されればOKです。

Successfully installed (インストールしたファイル名)


SymPyを使ってみる

簡単な数式を用いて SymPy を使ってみます。計算する内容は「x^2 + 2x +1」を「x」について解く計算です。

上式は「(x+1)^2」となるので「x = -1」が解となります。ソースコードは下記になります。

# =================================================
#           ライブラリインポート
# =================================================

# 記号数値計算ライブラリ
import sympy as sym


# =================================================
#           メイン
# =================================================

#------------ シンボル定義 ------------#
x = sym.symbols("x")

#------------ 演算 ------------#
ans = sym.solve(x**2 + 2*x + 1, x)

#------------ 出力 ------------#
print(ans)

上記のコードで実行すると次の結果が出力されます。

[-1]

正しい計算結果が出力されました。


おわりに

本記事ではSymPyの導入として、ライブラリインストールから簡単な計算までやってみました。様々な計算に使えるようなので、これから色々と試していきたいと考えています。

さらに、SymPy 単体ではなく、制御工学演算ライブラリの Python Control やグラフ描画ライブラリ matplotlib と組み合わせることで色々なことができそうだなと感じました。また、私が最近興味をもっている EDA(Electronic Design Automation)にも活用できそうな気がします。

何かお役に立てたら、サポートしていただけると嬉しいです!モチベーションを高めて、アウトプットしていきます!