Python 2.7.11에서 Sympy 패키지 버전 1.0을 사용하여 (나에게) 부적절한 것을 발견했습니다. 예상대로 내가 가진 무엇 양수로 가정 할 때 Sympy에서 가능한 불일치
import sympy as sy
from sympy.stats import Normal, density
from sympy.assumptions import assuming, Q, ask
sy.init_printing()
a = sy.symbols('a', real=True)
with assuming(Q.positive(a)):
print ask(Q.positive(a))
N = Normal('N', 0, a)
가 첫 번째 인쇄에서
True
하지만
ValueError: Standard deviation must be positive
할 수있는 일반 객체를 생성 예외 : 이것은 내가 사용하고 코드입니다 아무도, 왜 이런 식으로 의도되고 왜 그런지 설명해주십시오. 감사!
PS : SymPy의 시스템은, 기존의 스타일과 새로운 스타일의 가정이라는 두 가지 가정이있다 : 나는 기호이 문제는 간단하다
예제를 더 단순화 할 수 있습니다. b와 c는 삭제할 수 있습니다. Normal ('N', 0, a)를 호출하면 Francesco Bonazzi가 설명한 이유로 동일한 오류가 발생합니다. Normal이 요구하는 조건은 std> 0이며, 그 boolean 값은 None으로 반환됩니다. –
@soup : 감사합니다. 코드가 더 단순 해 보이도록 편집했습니다. – ilmorez