Упрощение симпы.KroneckerDelta - PullRequest
0 голосов
/ 10 сентября 2018

Есть ли способ "упростить" sympy.KroneckerDelta?Например,

i, j = sympy.symbols('i j')
sympy.KroneckerDelta((i+1)/2, (j+1)/2)

также можно выразить более просто как

sympy.KroneckerDelta(i, j)

1 Ответ

0 голосов
/ 10 сентября 2018

Существует внутренняя функция _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). Замечания:

  1. _simplify_delta работает только для одного экземпляра KroneckerDelta, но не для выражений, содержащих дельты.
  2. Он не используется simplify: универсальный simplify мало что знает, если вообще что-то, о специальных свойствах дельты Кронекера.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...