ishermitian#
- scipy.linalg.ishermitian(a, atol=None, rtol=None)#
Prüfen Sie, ob ein quadratisches 2D-Array hermitisch ist.
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:
- andarray
Eingabearray der Größe (N, N)
- atolfloat, optional
Absoluter Fehlergrenzwert
- rtolfloat, optional
Relativer Fehlergrenzwert
- Rückgabe:
- herbool
Gibt True zurück, wenn das Array hermitisch ist.
- Löst aus:
- TypeError
Wenn der dtype des Arrays nicht unterstützt wird, insbesondere NumPy float16, float128 und complex256 dtypes.
Siehe auch
issymmetricPrüfen Sie, ob ein quadratisches 2D-Array symmetrisch ist
Hinweise
Für leere quadratische Arrays wird das Ergebnis per Konvention True zurückgegeben.
numpy.infwird als Zahl behandelt, d. h.[[1, inf], [inf, 2]]gibtTruezurück. Andererseits istnumpy.nanniemals symmetrisch, z. B. gibt[[1, nan], [nan, 2]]Falsezurück.Wenn
atolund/oderrtolauf gesetzt sind, wird der Vergleich vonnumpy.allclosedurchgeführt und die Toleranzwerte werden an diese übergeben. Andernfalls wird ein exakter Vergleich gegen Null durch interne Funktionen durchgeführt. Daher kann sich die Leistung je nach Größe und dtype des Arrays verbessern oder verschlechtern. Wenn einer der Werteatoloderrtolgegeben ist, wird der andere automatisch auf Null gesetzt.Beispiele
>>> import numpy as np >>> from scipy.linalg import ishermitian >>> A = np.arange(9).reshape(3, 3) >>> A = A + A.T >>> ishermitian(A) True >>> A = np.array([[1., 2. + 3.j], [2. - 3.j, 4.]]) >>> ishermitian(A) True >>> Ac = np.array([[1. + 1.j, 3.j], [3.j, 2.]]) >>> ishermitian(Ac) # not Hermitian but symmetric False >>> Af = np.array([[0, 1 + 1j], [1 - (1+1e-12)*1j, 0]]) >>> ishermitian(Af) False >>> ishermitian(Af, atol=5e-11) # almost hermitian with atol True