Я пытаюсь сделать некоторые символические вычисления в SymPy, но я не могу использовать латексную печать и получить графический вывод, который я хочу. Это меня всегда беспокоило и провело несколько часов (возможно, дней), пытаясь улучшить способ настройки печати объектов (в LaTeX, в представлении pprint это хорошо документировано).SymPy print только имя функции
Однако в этом случае я пытаюсь сделать символические вычисления на неопределенной функции psi, которая зависит от x, y, z. Однако эти расчеты подразумевают термины, которые имеют до трех раз завихрение psi * \ vec r.
У меня есть следующий код
init_printing(use_latex=True)
R = ReferenceFrame(r"E", variables=["x", "y", "z"])
psi = Function(r"\psi")(R[0], R[1], R[2])
rpsi = (R[0]*R.x + R[1]*R.y + R[2]*R.z)*psi
Где, в случае, если вы не знакомы с ним, R[i]
это я-й переменной (х, у, г) и R.x
, R.y
и R.z
являются унитарные декартовы векторы, созданные в вызове ReferenceFrame (функция от sympy.physics).
Например, если я попытаюсь взглянуть на curl(curl(rpsi, R), R)
, выход так заполнен «\ psi (x, y, z)» (скомпилирован в латекс и показан как изображение), что утомительно следить за выражение.
Есть ли способ настроить латексную строку, которая скомпилируется (что применимо к другим вычислениям, которые я делаю). Если это невозможно, как решить эту конкретную проблему (то есть независимо от переменных, отображаемых каждый раз при печати функции).
Я использую jupyter с qtconsole.
Приветствия,
Большое спасибо. Я знал, что это не может быть так сложно, но через несколько часов в документации и исходном коде я не смог этого сделать. – Sabian
Нам действительно нужны лучшие документы для написания пользовательских принтеров. – asmeurer