В моем коде на python я хотел бы решить проблему полиномиальных собственных значений:
A0 + lambda*A1 + lambda^2*A2 + lambda^3*A3 + .... = 0
, где An
- плотные матрицы, а lambda
- константа.В Matlab эту проблему можно решить с помощью функции polyeig .Кажется, что в scipy нет эквивалентной функциональности.Пока что я могу думать только о том, чтобы создать соответствующую сопутствующую матрицу.Это создает эквивалентную линейную проблему собственных значений, которая может быть задана существующим решающим программам Scipy, однако она намного больше, и я считаю, что она может быть довольно плохо обусловлена.
Может кто-нибудь предложить существующий, открытый исходный код или свободно доступныйбиблиотека, которая может решить эту проблему?Я был бы весьма счастлив с библиотекой на Фортране, которую можно связать через библиотеку f2py или C / C ++ для связи через cython.
Редактировать: Для всех, кто заинтересован в решении нелинейных проблем с собственными значениями в python, кодЯ написал сам, чтобы решить эту проблему можно найти здесь .Заметим, что я имею дело с более общим случаем нелинейной задачи на собственные значения (в том смысле, что она имеет нелинейную зависимость от лямбды).Чтобы понять метод, пожалуйста, прочитайте статью, упомянутую в комментариях к коду.