SymPy のシンボル定義と式の作成
SymPy で数式を扱うには、まずシンボル(記号変数)を定義する必要がある。シンボルは数学の や に相当するものだ。
symbols 関数
symbols 関数でシンボルを定義する。
from sympy import symbols
x = symbols('x')
y = symbols('y')複数のシンボルを一度に定義することも可能だ。
x, y, z = symbols('x y z')カンマ区切りでも動作する。
a, b, c = symbols('a, b, c')Symbol クラス
Symbol クラスを直接使う方法もある。
from sympy import Symbol
x = Symbol('x')symbols は内部で Symbol を呼び出しているため、機能的には同じだ。複数定義する場合は symbols のほうが簡潔に書ける。
式の作成
シンボルを定義したら、通常の演算子で式を組み立てられる。
from sympy import symbols
x, y = symbols('x y')
expr1 = x + y
expr2 = x * y
expr3 = x ** 2 + 2*x + 1SymPy の関数を使った式も作れる。
from sympy import symbols, sin, cos, exp, log
x = symbols('x')
expr1 = sin(x) + cos(x)
expr2 = exp(x) * log(x)シンボルの属性
シンボルに属性を付けることで、計算結果が変わる場合がある。
from sympy import symbols, sqrt
x = symbols('x', positive=True)
sqrt(x**2) # x(正なので絶対値が不要)
y = symbols('y')
sqrt(y**2) # sqrt(y**2)(符号不明なので簡約化されない)positive=True
シンボルが正の値であることを指定。平方根の簡約化などに影響する。
real=True
シンボルが実数であることを指定。複素数を含む計算で結果が変わる。
integer=True
シンボルが整数であることを指定。整数性を利用した簡約化が行われる。
属性を適切に設定すると、より簡潔な結果が得られることがある。












