数学講師2905779 views
高校化学2930900 views
教育149914 views
高校倫理1443364 views
中学英語813147 views
小学算数1202941 views
小学社会311307 views
中学理科1632943 views
ヒストリア293808 views
高校生物552825 views
Help
Tools

English

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 + 1

SymPy の関数を使った式も作れる。

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

シンボルが整数であることを指定。整数性を利用した簡約化が行われる。

属性を適切に設定すると、より簡潔な結果が得られることがある。