2017-10-04 6 views
1

단순화 중에 표현 a * (... + 1) - a이 제거되지 않는 이유를 알지 못합니다. 예 아래의 버그 표시 : 나는Sympy : 기본 표현의 단순화가 실패합니다.

expr = a * (b - c + 1) - a 

의해 발현을 변경 simplify()를 호출하는 경우, 반대편

import sympy as sy 

a,b,c = sy.symbols('a b c') 
expr = a * (b - c + 1) - a + (b - c) * (a - b) 
print expr    # printed: a*(b - c + 1) - a + (a - b)*(b - c) 
print expr.simplify() # printed: a*(b - c + 1) - a + (a - b)*(b - c) 

를, I는 예상 된 결과 a * (b - c)을 구하는 것이다.

심피의 버전은 1.1rc1입니다.

답변

0

simplify은 일반적으로 제한된 양의 마술을 할 수 있습니다. 이 경우 더 많은 논란의 여지는 있지만 원하는 경우 기능 요청을해야합니다. 어쨌든 SymPy에 어떤 종류의 수정을하고 싶은지 알려주는 것이 좋습니다. 여기

, 다음이 아마 당신을 만족합니다 :

print(expr.factor()) # (2*a - b)*(b - c)