![見出し画像](https://assets.st-note.com/production/uploads/images/13254806/rectangle_large_type_2_f127b51dbea23ab0517c9f4ffca43350.png?width=1200)
Pythonでプログラミング!-- 計算式!SymPy
変数、式を定義: sympy.symbol()
変数に値を代入: subs()メソッド
式の展開: sympy.expand()
因数分解: sympy.factor()
方程式を解く: sympy.solve()
連立方程式を解く: sympy.solve()
微分: sympy.diff()
積分: sympy.integrate()
三角関数、指数関数、対数関数などを使う
ざっとこんな感じで使える見たいです。
サンプルコードをGoogleのColabで実際にやっていきます。Colabには最初からライブラリがたくさん入っているから手間いらず。もちろんSymPyも入っています。
SymPy とは Symbol (記号) による演算、すなわちコンピュータで代数演算を実行するためのライブリです。まずインポート。
import sympy
そして、代数GA使えるように変数を定義してやります。
x,y = sympy.symbols('x, y')
これは、
x = sympy.Symbol('x')
という感じに一つずつでもできます。こうしてxとyを使えるようにします。
symbols(),Symbol()の違いに気をつけましょう!
早速ですが、数式を入れてみましょう。四則演算はpython標準なものを使います。
import sympy
x,y = sympy.symbols('x, y')
expr = x**2 + 4*x +3
print(expr)
としてみましょう。ライブラリのない場合は通常の計算されてエラーが出ますが、
x**2 + 4*x + 3
と出ますね。数式がそのまま読み込まれています。これで変数xとyを使った数式が使えるようになりました。
次に変数に値を代入してみましょう。subs()メソッドを使います。
expr.subs(x,2)
として実行すると、"15"と表示されます。"x"に"2"が代入されて実行されまています。
今度は2つの変数を使ってみましょう。
expr2 = x**2 + y + 2
として、代入式は
expr2.subs([(x,2),(y,3)])
で実行すると、"9"と計算されます。"x","y"に"2"と"3"が代入されて計算されました。
式の展開、因数分解、微分、積分などいろいろできます。
いちいちsympy.をつけるのが面倒な場合は、以下のように各関数をimportしておけばよい。
import sympy
from sympy import sin, exp
x = sympy.Symbol('x')
print(sympy.diff(sin(x)))
# cos(x)
print(sympy.diff(exp(x)))
# exp(x)
注意点ですが、
from sympy import *とすればすべての関数がsympy.なしで使えるが、import *は何がimportされるか分からないので、Pythonのコーディング規約PEP8では推奨されていない。