scipy.sparse.linalg.

norm#

scipy.sparse.linalg.norm(x, ord=None, axis=None)[Quelle]#

Norm einer dünnbesetzten Matrix

Diese Funktion kann je nach Wert des Parameters ord eine 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...