У меня есть матрица 4x4 A
с довольно длинными, но простыми символическими выражениями в каждой из ее записей. В нем задействовано около 30 различных символов. Под «простым» я подразумеваю, что эти символы объединены с использованием только сложения/вычитания, умножения/деления и целых чисел полномочий. Под «long» я имею в виду, что если я распечатаю матрицу, она покрывает три или четыре экрана.Ускорение вычисления символической детерминанты в SymPy
Мне нужен определитель этой матрицы. Или, если быть более конкретным, я знаю, что определитель является полиномом четвертого порядка в одном конкретном символе, и мне нужны коэффициенты этого многочлена. A.det()
не заканчивается после нескольких часов работы, поэтому мне нужен другой подход. Есть идеи? До сих пор я старался делать различные функции simplify
у каждого элемента A
без каких-либо успехов.
Есть ли какая-то стратегия, которую я могу использовать, чтобы Sympy мог знать о простой структуре моих выражений или что я знаю, что результат является полиномом в одном из символов?
@Meta: Нет, записи могут быть произвольными суммами, произведениями и целыми степенями этого символа. – gspr
@Meta: Нет, я допускаю и отрицательные полномочия символа, так что это не полином. Может быть, полиномиальный модуль SymPy все же может справиться с этим? В общем случае, записями являются * отношения * многочленов от конкретного символа. – gspr
@Meta: Разве это не смущает удалять комментарии? Теперь у меня нет никакого смысла. Во всяком случае: типичная матрица составляет 4400 символов при распечатке ... Я не думаю, что публикация здесь имеет смысл. – gspr