eigvals#
- scipy.linalg.eigvals(a, b=None, overwrite_a=False, check_finite=True, homogeneous_eigvals=False)[Quellcode]#
Berechnet Eigenwerte aus einem gewöhnlichen oder verallgemeinerten Eigenwertproblem.
Ermittelt Eigenwerte einer allgemeinen Matrix
a vr[:,i] = w[i] b vr[:,i]
Die Dokumentation wurde unter der Annahme verfasst, dass die Array-Argumente bestimmte „Kern“-Formen haben. Array-Argumente dieser Funktion können jedoch zusätzliche „Batch“-Dimensionen vorangestellt haben. In diesem Fall wird das Array als Stapel von niedrigdimensionalen Schnitten behandelt; siehe Gestapelte lineare Operationen für Details.
- Parameter:
- a(M, M) array_like
Eine komplexe oder reelle Matrix, deren Eigenwerte und Eigenvektoren berechnet werden.
- b(M, M) array_like, optional
Rechte Matrix in einem verallgemeinerten Eigenwertproblem. Wenn weggelassen, wird die Einheitsmatrix angenommen.
- overwrite_abool, optional
Gibt an, ob Daten in a überschrieben werden sollen (kann die Leistung verbessern)
- check_finitebool, optional
Ob überprüft werden soll, ob die Eingabematrizen nur endliche Zahlen enthalten. Das Deaktivieren kann zu einer Leistungssteigerung führen, kann aber zu Problemen (Abstürzen, Nicht-Terminierung) führen, wenn die Eingaben Unendlichkeiten oder NaNs enthalten.
- homogeneous_eigvalsbool, optional
Wenn True, werden die Eigenwerte in homogenen Koordinaten zurückgegeben. In diesem Fall ist
wein (2, M)-Array, sodassw[1,i] a vr[:,i] = w[0,i] b vr[:,i]
Standard ist False.
- Rückgabe:
- w(M,) oder (2, M) double oder complex ndarray
Die Eigenwerte, jeder wiederholt entsprechend seiner Vielfachheit, aber in keiner bestimmten Reihenfolge. Die Form ist (M,) es sei denn,
homogeneous_eigvals=True.
- Löst aus:
- LinAlgError
Wenn die Eigenwertberechnung nicht konvergiert
Siehe auch
eigEigenwerte und rechte Eigenvektoren allgemeiner Arrays.
eigvalshEigenwerte von symmetrischen oder hermiteschen Arrays
eigvals_bandedEigenwerte für symmetrische/hermitesche Bandmatrizen
eigvalsh_tridiagonalEigenwerte von symmetrischen/hermiteschen tridiagonalen Matrizen
Beispiele
>>> import numpy as np >>> from scipy import linalg >>> a = np.array([[0., -1.], [1., 0.]]) >>> linalg.eigvals(a) array([0.+1.j, 0.-1.j])
>>> b = np.array([[0., 1.], [1., 1.]]) >>> linalg.eigvals(a, b) array([ 1.+0.j, -1.+0.j])
>>> a = np.array([[3., 0., 0.], [0., 8., 0.], [0., 0., 7.]]) >>> linalg.eigvals(a, homogeneous_eigvals=True) array([[3.+0.j, 8.+0.j, 7.+0.j], [1.+0.j, 1.+0.j, 1.+0.j]])