1) Что касается материальных производных, вам, вероятно, лучше написать свою собственную функцию, которая не должна быть слишком сложной. В противном случае вы можете использовать другие модули в sympy.physics
, например, модуль mechanics
. Я не уверен, поможет ли это или нет, но это определенно стоит посмотреть.
2) К вашему второму вопросу (как извлечь компоненты векторного симпли-объекта):
Это немного глупо, потому что после преобразования в матричную форму базовая информация о системе отсчета теряется, но вы можете сделать что-то вроде этого:
from sympy.physics import vector
A = vector.ReferenceFrame('A')
v = 5*A.x + 10*A.y
x_component = v.to_matrix(A)[0]
y_component = v.to_matrix(A)[1]
Если вы все еще хотите, чтобы он был в векторной форме, а не только скалярный коэффициент, вы могли бы сразу же умножить его на базисный вектор следующим образом:
x_vec = (v.to_matrix(A)[0])*A.x
y_vec = (v.to_matrix(A)[0])*A.y