separatevars(), collect(), ratsimp()

separatevars(), collect(), ratsimp()

separatevars(), collect(), ratsimp()

 この記事では以下の関数について解説しています。

 ・sympy.simplify.simplify.separatevars()
 ・sympy.simplify.radsimp.collect()
 ・sympy.simplify.ratsimp.ratsimp()

separatevars()

 separatevars(expr) は数式を共通因子で括ります。

# SEPARATEVARS

from sympy import *
var ("a x")

y = x*log(x) + a*log(x) + log(x)**2

# 共通因子で括る
y = separatevars(y)

print(y)
(a + x + log(x))*log(x)

 

collect()

 collect(expr, syms) は数式 expr を syms で指定した記号のベキ順に整理します。

# COLLECT-1

from sympy import *
var ("a b c x")

y = c*x + a*x**3 + b*x**2

# yをxについて整理
y = collect(y, x)

print(y)
a*x**3 + b*x**2 + c*x

 複雑な項を指定して整理することもできます。

# COLLECT-2

y = a*sin(x) + sin(x)*cos(x) + b

# yをxについて整理
y = collect(y, sin(x))

print(y)
b + (a + cos(x))*sin(x)

 

ratsimp()

 ratsimp(expr) は分数の和で表された式を1つの分数にまとめます。

# RATSIMP

from sympy import *
var ("a:c")

expr = 1/a + 1/ b + 1/c

# 1つの分数にまとめる
expr = ratsimp(expr)

print(expr)
(a*b + a*c + b*c)/(a*b*c)