eig.py
# coding=utf-8
#Numerische Berechnungsbibliothek(LAPACK)
import numpy as np
#Zufällige Bibliothek
import random
#10x10 Nullmatrix
A = np.zeros((10,10))
#Initialisieren
for i in range(10):
for j in range(10):
rand = random.randint(1,10)
A[i][j] = rand
A[j][i] = rand
print 'Berechnungssymmetrische Matrix'
print A
l,v = np.linalg.eig(A)
print 'Eigenwert'
print l
print 'Einzigartiger Vektor'
print v
Es ist wirklich einfach zu tun.
Bei der Initialisierung einer echten Symmetriematrix ist die Anzahl der Schleifen jetzt redundant, daher wollte ich sie wie folgt implementieren, gab jedoch auf, weil alle diagonalen Terme Null wurden.
init
for i in range(10):
for j in range(i):
rand = random.randint(1,10)
if rand == 0:
ptint 1
A[i][j] = rand
A[j][i] = rand
Ich habe darüber nachgedacht, die Ursache zu untersuchen, aber ich werde wütend auf SyntaxError, also machen wir es noch einmal
Numpy hat LAPACK eingebaut, aber Matlab scheint LAPACK im Eigenwertberechnungsteil eingebaut zu haben.
Recommended Posts