scipy.linalg.

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 w ein (2, M)-Array, sodass

w[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

eig

Eigenwerte und rechte Eigenvektoren allgemeiner Arrays.

eigvalsh

Eigenwerte von symmetrischen oder hermiteschen Arrays

eigvals_banded

Eigenwerte für symmetrische/hermitesche Bandmatrizen

eigvalsh_tridiagonal

Eigenwerte 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]])