从scipy.linalg.eig()获得不同的答案

时间:2018-11-29 14:12:51

标签: python scipy linear-algebra eigenvalue

我有两个矩阵R和F

abstract class AbstractBase {
  private readonly ["AbstractBase"];
}


class A extends AbstractBase {}
class B extends AbstractBase {}
class C extends AbstractBase {}


function create<T extends typeof AbstractBase>(c: T) {return new c();}

如果我尝试解决广义特征值问题,我会得到

R = array([[ 0.89148867,  4.58007519, 15.70287019],
   [ 5.1065172 , 14.26381865, 34.50113854],
   [18.51056089, 36.78238723, 72.21058193]])
F = array([[ 4.9348022, 12.3370055, 24.674011 ],
   [12.3370055, 19.7392088, 32.0762143],
   [24.674011 , 32.0762143, 44.4132198]])

但是如果我首先把它变成一个标准的特征值问题,我会得到

#[R]{c}=e[F]{c}
eigvals,eigvecs = scipy.linalg.eig(R,b=F)
eigvals = 
array([[inf+0.j],
   [1.0583253e+14+0.j],
   [          inf+0.j]])

为什么会这样?他们应该提供不同的解决方案吗?

0 个答案:

没有答案