matlab eigs每次的结果不一样,scipy.sparse.linalg.eigsh()的结果与Matlab的eigs()不同,为什么?...

我用scipy.sparse.linalg.eigsh()来解决广义特征值问题。我想使用eigsh(),因为我在操作一些大型稀疏矩阵。问题是我不能得到正确的答案,eigsh()输出的特征值和特征向量与我从Matlab的eigs()得到的完全不同。在

看起来像这样:

数据:a:

304.7179 103.1667 36.9583 61.3478 11.5724

35.5242 111.4789 -9.8928 8.2586 -4.7405

10.8358 4.3433 145.6586 26.5153 13.1871

-1.1924 -2.5430 0.4322 43.1886 -0.6098

-18.7751 -8.8031 -4.3962 -5.8791 17.6588

b:

736.9822 615.7946 587.6828 595.7169 545.1878

615.7946 678.2142 575.7579 587.3469 524.7201

587.6828 575.7579 698.6223 593.5402 534.3675

595.7169 587.3469 593.5402 646.0410 530.1114

545.1878 524.7201 534.3675 530.1114 590.1373

在python中:

a、 b是努比·恩达雷在

^{pr2}$

可以看出,特征值和特征向量不足以重新组合原始矩阵。在

但是,在MATLAB中它很好地工作:[y,x] = eigs(a,b,2,'sm');

y =

0.0037 -0.0141

-0.0056 0.0151

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值