Непоследовательная замена для Sympy Symarray Array - PullRequest
0 голосов
/ 15 января 2020

Sympy кажется непоследовательным в том, как он обрабатывает подстановку symarray. Вот минимальный пример кода. Замена успешно происходит с выражением u*1, но не с выражением u*2.

>>> import sympy as sy
>>> u = sy.Array(sy.symarray('u', 2))
>>> v = sy.Array(sy.symarray('v', 2))
>>> w = sy.Array(sy.symarray('w', 2))
>>> (u*1).subs(u, v+w)
[v_0 + w_0, v_1 + w_1]
>>> (u*2).subs(u, v+w)
[2*u_0, 2*u_1]

Почему поведение отличается?

Есть ли лучший способ выполнить то, что я пытаюсь сделать? Я хотел бы иметь возможность заменить среднее значение двух векторов в функцию symboli c, которая принимает векторный ввод.

...