В настоящее время я разрабатываю дифференциальный оператор для sympy, который может быть помещен в матричную форму.
В этом случае порядок списка args при создании объекта Mul очень важен, чтобы гарантировать, что дифференциация выполняется там, где это требуется.
Проблема заключается в том, что, когда выполняется следующее:
input = (t,z,x)
Mul(*input).args
Он возвращает (t, x, z), потому что произошла некоторая перестановка в args. Как избежать сортировки args?