matlab eigs la,python:matlab eigs在python中

我试图将一个matlab程序翻译成python,但是在python中找不到匹配的(matlab eigs)。

我试过了scipy.sparse.linalg,但它们完全不同:

matlab软件:

>> up_Cx

up_Cx =

1.0e+03 *

2.1341 2.1341 2.1341

2.1341 2.1341 2.1341

2.1341 2.1341 2.1341

>> [A,D]=eigs(up_Cx)

A =

0.5774 -0.0961 -0.8108

0.5774 -0.6541 0.4886

0.5774 0.7502 0.3222

D =

1.0e+03 *

6.4023 0 0

0 0.0000 0

0 0 0.0000

>>

我在python中尝试过:

k=1:

>>> H_CX

array([[ 2134.08350667, 2134.08350667, 2134.08350667],

[ 2134.08350667, 2134.08350667, 2134.08350667],

[ 2134.08350667, 2134.08350667, 2134.08350667]])

>>> scipy.sparse.linalg.eigs(H_CX)

Traceback (most recent call last):

File "", line 1, in

File "/usr/local/lib/python2.7/site-packages/scipy/sparse/linalg/eigen/arpack/arpack.py", line 1238, in eigs

% (k, n - 1))

ValueError: k=6 must be between 1 and ndim(A)-1=2

>>> scipy.sparse.linalg.eigs(H_CX,1)

(array([ 6402.25052002+0.j]), array([[-0.57735027+0.j],

[-0.57735027+0.j],

[-0.57735027+0.j]]))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值