norm#
- scipy.sparse.linalg.norm(x, ord=None, axis=None)[Quelle]#
Norm einer dünnbesetzten Matrix
Diese Funktion kann je nach Wert des Parameters
ordeine von sieben verschiedenen Matrixnormen zurückgeben.- Parameter:
- xein dünnbesetztes Array
Eingangs-dünnbesetztes Array.
- ord{von Null verschiedener Integer, inf, -inf, ‘fro’}, optional
Ordnung der Norm (siehe Tabelle unter
Hinweise). inf bedeutet das inf-Objekt von NumPy.- axis{Integer, Tupel aus 2 Integers, None}, optional
Wenn axis ein Integer ist, gibt er die Achse von x an, entlang der die Vektornormen berechnet werden sollen. Wenn axis ein Tupel aus 2 Elementen ist, gibt er die Achsen an, die 2-D-Matrizen enthalten, und die Matrixnormen dieser Matrizen werden berechnet. Wenn axis None ist, wird entweder eine Vektornorm (wenn x 1-D ist) oder eine Matrixnorm (wenn x 2-D ist) zurückgegeben.
- Rückgabe:
- nFloat oder ndarray
Hinweise
Einige der Ordnungen sind nicht implementiert, da einige zugehörige Funktionen wie _multi_svd_norm für dünnbesetzte Arrays noch nicht verfügbar sind.
Diese Dokumentationszeichenkette wurde basierend auf numpy.linalg.norm modifiziert. numpy/numpy
Die folgenden Normen können berechnet werden
ord
Norm für dünnbesetzte Arrays
None
Frobenius-Norm
‘fro’
Frobenius-Norm
inf
max(sum(abs(x), axis=1))
-inf
min(sum(abs(x), axis=1))
0
abs(x).sum(axis=axis)
1
max(sum(abs(x), axis=0))
-1
min(sum(abs(x), axis=0))
2
Spektralnorm (der größte singuläre Wert)
-2
Nicht implementiert
andere
Nicht implementiert
Die Frobenius-Norm ist gegeben durch [1]
\(||A||_F = [\sum_{i,j} abs(a_{i,j})^2]^{1/2}\)
Referenzen
[1]G. H. Golub und C. F. Van Loan, Matrix Computations, Baltimore, MD, Johns Hopkins University Press, 1985, S. 15
Beispiele
>>> from scipy.sparse import csr_array, diags_array >>> import numpy as np >>> from scipy.sparse.linalg import norm >>> a = np.arange(9) - 4 >>> a array([-4, -3, -2, -1, 0, 1, 2, 3, 4]) >>> b = a.reshape((3, 3)) >>> b array([[-4, -3, -2], [-1, 0, 1], [ 2, 3, 4]])
>>> b = csr_array(b) >>> norm(b) 7.745966692414834 >>> norm(b, 'fro') 7.745966692414834 >>> norm(b, np.inf) 9 >>> norm(b, -np.inf) 2 >>> norm(b, 1) 7 >>> norm(b, -1) 6
Die Matrix-2-Norm oder Spektralnorm ist der größte singuläre Wert, der angenähert und mit Einschränkungen berechnet wird.
>>> b = diags_array([-1, 1], offsets=[0, 1], shape=(9, 10)) >>> norm(b, 2) 1.9753...