Pythonで数式処理

きっかけは奥村先生の以下のツイートです。

実際に試してみました。

.$ sudo apt install python3-venv
.$ python3 -m venv sympy
.$ cd sympy/
./sympy$ source bin/activate
(sympy) ./sympy$ pip3 install sympy
Collecting sympy
  Downloading https://files.pythonhosted.org/packages/78/43/33c5a5e7fbafbf51520f4e09cb0634a1ca1d4cd5469c57967e43183d7a42/sympy-1.9-py3-none-any.whl (6.2MB)
    100% |████████████████████████████████| 6.2MB 125kB/s 
Collecting mpmath>=0.19 (from sympy)
  Downloading https://files.pythonhosted.org/packages/d4/cf/3965bddbb4f1a61c49aacae0e78fd1fe36b5dc36c797b31f30cf07dcbbb7/mpmath-1.2.1-py3-none-any.whl (532kB)
    100% |████████████████████████████████| 542kB 1.4MB/s 
Installing collected packages: mpmath, sympy
Successfully installed mpmath-1.2.1 sympy-1.9
(sympy) ./sympy$ python3
Python 3.6.9 (default, Dec  8 2021, 21:08:43) 
[GCC 8.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from sympy import *
>>> x,t = symbols("x t")
>>> diff(sin(x*t**2),x)
t**2*cos(t**2*x)
>>> diff(x**2,x)
2*x
>>> diff(t*x**4+x**2,x)
4*t*x**3 + 2*x
>>> diff(x*sin(t*x**2),x)
2*t*x**2*cos(t*x**2) + sin(t*x**2)
>>> 

ちゃんと数式の微分ができています。すごい。便利そう。sympyの使い方はこちらが参考になりそうです。

SymPy による数式処理とグラフ作成
https://home.hirosaki-u.ac.jp/jupyter/sympy/

コメントを残す

メールアドレスが公開されることはありません。

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)