Как решить полиномиальное собственное значение в питоне? - PullRequest
5 голосов
/ 24 ноября 2011

В моем коде на python я хотел бы решить проблему полиномиальных собственных значений:

A0 + lambda*A1 + lambda^2*A2 + lambda^3*A3 + .... = 0

, где An - плотные матрицы, а lambda - константа.В Matlab эту проблему можно решить с помощью функции polyeig .Кажется, что в scipy нет эквивалентной функциональности.Пока что я могу думать только о том, чтобы создать соответствующую сопутствующую матрицу.Это создает эквивалентную линейную проблему собственных значений, которая может быть задана существующим решающим программам Scipy, однако она намного больше, и я считаю, что она может быть довольно плохо обусловлена.

Может кто-нибудь предложить существующий, открытый исходный код или свободно доступныйбиблиотека, которая может решить эту проблему?Я был бы весьма счастлив с библиотекой на Фортране, которую можно связать через библиотеку f2py или C / C ++ для связи через cython.

Редактировать: Для всех, кто заинтересован в решении нелинейных проблем с собственными значениями в python, кодЯ написал сам, чтобы решить эту проблему можно найти здесь .Заметим, что я имею дело с более общим случаем нелинейной задачи на собственные значения (в том смысле, что она имеет нелинейную зависимость от лямбды).Чтобы понять метод, пожалуйста, прочитайте статью, упомянутую в комментариях к коду.

1 Ответ

2 голосов
/ 24 ноября 2011

Это обсуждение указывает на общий метод превращения полиномиальной задачи на собственные значения в обобщенную задачу на собственные значения, которая впоследствии может быть решена с использованием функций линейной алгебры Сципи .Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...