Самый быстрый способ конвертировать большое выражение Sympy в читаемую строку - PullRequest
1 голос
/ 04 июня 2019

У меня есть симпатичный скрипт, который я использую для вычисления динамической модели сложного робота.В конце сценария я хотел бы сохранить результат в удобочитаемом формате в файле.

Символьное исчисление относительно быстрое (~ 5 секунд), но преобразование из внутреннего формата, используемого Sympy вчитаемый формат занимает вечность.

Сохранение выражения с использованием pickle выполняется быстро, но нечитаемо, и создает большой файл (269 КБ).Я попытался использовать функции печати Sympy, но все они занимают вечность (самый длинный прогон ~ 32 часа, не закончен).

Пример кода:

th1 = symbols('th1')
DV1 = sin(th1)
DV2 = cos(th1)
torques = DV1^2 + 2*DV2 # Computation, fast

torques_str = str(torques) # Conversion, extremely slow

with open('torques.txt', 'w') as f: # Save string
    print >> f, torques_str

Что я могу сделать, чтобы эффективно конвертироватьмое выражение Sympy в читаемом формате и сохранить его в файле?

...