高校化学2913383 views
高校国語785655 views
高校物理158224 views
高校日本史189857 views
雑学1472593 views
世界の国560595 views
中学数学621382 views
いろは2986023 views
LaTeX957300 views
教育148875 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

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

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