Pythonのnumpyとscipyを使って固有値・固有ベクトルを指定した数分、作成するコードを作ってみたのでメモ書き
#encoding:UTF-8
import numpy
import scipy.linalg
hi = 2
lo = 0
#行列のサイズ
w = 3
list = []
for i in range( 10 ):
list.append(i)
def EigenValue():
global list
a = []
#行列
a = []
for i in range(w):
if i == w:
break
else:
a.append(list[i:i+w])
A = numpy.matrix(a)
eigen_value,eigen_vector = scipy.linalg.eigh(A,eigvals=(lo,hi))
eigen_id = numpy.argsort(eigen_value)[::-1]
eigen_vector = eigen_vector[:,eigen_id]
eigen_value = eigen_value[:,eigen_id]
print eigen_value
print eigen_vector
if __name__=="__main__":
EigenValue()
0 件のコメント:
コメントを投稿