Упростите симпатию.Кронекердельта
Есть ли способ "упростить" a sympy.KroneckerDelta
? Например,
i, j = sympy.symbols('i j')
sympy.KroneckerDelta((i+1)/2, (j+1)/2)
Можно было бы также выразить более просто как
sympy.KroneckerDelta(i, j)
1 ответ:
Существует внутренняя функция
_simplify_delta
это делает вот что.import sympy from sympy.concrete.delta import _simplify_delta i, j = sympy.symbols('i j') expr = sympy.KroneckerDelta((i+1)/2, (j+1)/2) print(_simplify_delta(expr))
Отпечатки
KroneckerDelta(i, j)
. Примечания:
_simplify_delta
работает только с одним экземпляромKroneckerDelta
, а не с выражениями, включающими дельты.- он не используется
simplify
: родовоеsimplify
не знает многого, если вообще что-либо, о специальных свойствах дельты Кронекера.