как написать пользовательские предположения SymPy - PullRequest
0 голосов
/ 03 апреля 2019

Я пытаюсь создать объект, который является постоянным со значением в единичном интервале. SymPy имеет группу встроенных предположений со многими полезными свойствами: нечетное / четное, положительное, простое, сложное и т. Д. Но мне кажется, что я должен сам построить это с помощью предположения ():

import sympy as sp

p   = sp.symbols('p', real=True, constant=True)
x   = sp.symbols('x', real=True)

with sp.assuming(sp.Q.is_true(0 < p), sp.Q.is_true(p < 1)):
    display(sp.Integral(x**(-p), (x, 1, sp.oo)))
    display(sp.Integral(x**(-p), (x, 1, sp.oo)).doit())
    display(sp.Integral(sp.cos(x), (x, 0, sp.oo)).doit())

Но когда я оцениваю интеграл, приведенный выше, он дает два результата: один для p> 1 (что выходит за рамки моего предположения) и неоцененный интеграл для p <1. </p>

Хмм ... Хорошо, теперь я вижу, что предположить () является частью пакета Новые предположения и что эти два пакета плохо интегрированы. Есть ли способ написать собственное предположение для чего-то вроде inside_unit_interval, more_than_n, less_than_n?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...