在我的python代码中,我想解决多项式特征值问题:

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

其中An是密集矩阵,而lambda是常数。在matlab中,可以使用polyeig function解决此问题。似乎scipy中没有等效的功能。到目前为止,我能想到的唯一方法是形成相应的伴随矩阵。这就产生了一个等效的线性特征值问题,该问题可以提供给现有的scipy求解器,但是它要大得多,我相信它的条件可能很差。

谁能建议一个可以解决此问题的现有开放源代码或免费提供的库?我对fortran库感到非常满意,该库可以通过f2py或C/C++库链接以通过cython链接。

编辑:对于有兴趣解决python中非线性本征值问题的任何人,可以通过here找到我自己编写的用于解决此问题的代码。请注意,我处理的是非线性特征值问题的更一般情况(从某种意义上说,它对lambda具有非线性依赖性)。要了解该方法,请阅读代码注释中提到的论文。

最佳答案

This discussion指向将多项式特征值问题转换为广义特征值问题的一般方法,以后可以使用scipy's linear algebra函数解决。希望这可以帮助!

关于python - 如何在python中解决多项式特征值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8252428/

10-16 23:02