Python-Funktion NumPy numpy.linalg.norm()

Minahil Noor 30 Januar 2023
  1. Syntax von numpy.linalg.norm()
  2. Beispiel-Codes: numpy.linalg.norm()
  3. Beispielcodes: numpy.linalg.norm() zum Finden der Norm eines zweidimensionalen Arrays
  4. Beispielcodes: numpy.linalg.norm() zur Ermittlung der Vektor- und Matrix-Norm unter Verwendung des Parameters axis
  5. Beispielcodes: numpy.linalg.norm() zur Verwendung des Parameters ord
Python-Funktion NumPy numpy.linalg.norm()

Die Funktion Python NumPy numpy.linalg.norm() findet den Wert der Matrixnorm oder der Vektornorm. Der Parameter ord entscheidet, ob die Funktion die Matrixnorm oder die Vektornorm findet. Er hat mehrere definierte Werte.

Syntax von numpy.linalg.norm()

numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)

Parameter

x Es handelt sich um eine arrayartige Struktur. Es ist das Eingabefeld, das zum Auffinden des Wertes der Norm verwendet wird. Der Standardwert für den Parameter axis ist None, so dass das Array eindimensional oder zweidimensional sein sollte, vorausgesetzt Orden ist None.
ord Der Rückgabewert der Funktion hängt von diesem Parameter ab. Er definiert die Reihenfolge der Norm. Er hat mehrere Werte, siehe hier.
axis Es ist eine ganze Zahl, None oder 2 Tupel von ganzen Zahlen. Wenn es eine ganze Zahl ist, dann stellt sie die Achse dar, entlang der die Funktion die Vektornorm findet. Der Standardwert ist None, was bedeutet, daß die Funktion entweder die Matrixnorm oder die Vektornorm findet. Wenn es ein ganzzahliger Wert von 2 Tupel ist, dann gibt die Funktion den Wert der Matrixnorm zurück.
keepdims Es ist ein boolscher Parameter. Sein Standardwert ist False. Wenn sein Wert True ist, dann zeigt er die Dimensionen der normierten Achse mit der Größe gleich Eins an.

Zurück

Sie gibt die Norm der Matrix oder einen Vektor in Form eines “Fließkommawertes” oder eines N-dimensionalen Arrays zurück.

Beispiel-Codes: numpy.linalg.norm()

Wir werden diese Funktion verwenden, um die Norm eines eindimensionalen Arrays zu finden.

from numpy import linalg as la
import numpy as np

x = np.array(
    [89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)

norm = la.norm(x)
print("The value of norm is:")
print(norm)

Ausgabe:

The value of norm is:
257.4800963181426

Es wurde ein Float-Wert zurückgegeben, der der Wert der Norm ist.

Beispielcodes: numpy.linalg.norm() zum Finden der Norm eines zweidimensionalen Arrays

Wir werden jetzt ein zweidimensionales Feld passieren.

from numpy import linalg as la
import numpy as np

x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

norm = la.norm(x)
print("The value of norm is:")
print(norm)

Ausgabe:

The value of norm is:
129.35223229616102

Wenn wir den Parameter ord auf einen anderen Wert als None setzen und ein Array übergeben, das weder eindimensional noch zweidimensional ist, wird die Funktion einen ValueError erzeugen, da der Parameter Axis None ist.

from numpy import linalg as la
import numpy as np

x = np.array([[[4, 2], [6, 4]], [[5, 8], [7, 3]]])

norm = la.norm(x, "nuc")
print("The value of norm is:")
print(norm)

Ausgabe:

Traceback (most recent call last):
  File "C:\Test\test.py", line 6, in <module>
    norm = la.norm(x,'nuc')
  File "<__array_function__ internals>", line 5, in norm
  File "D:\WinPython\WPy64-3820\python-3.8.2.amd64\lib\site-packages\numpy\linalg\linalg.py", line 2557, in norm
    raise ValueError("Improper number of dimensions to norm.")
ValueError: Improper number of dimensions to norm.

Beispielcodes: numpy.linalg.norm() zur Ermittlung der Vektor- und Matrix-Norm unter Verwendung des Parameters axis

Wir werden zuerst die Vektornorm finden.

from numpy import linalg as la
import numpy as np

x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

norm = la.norm(x, axis=0)
print("The vector norm is:")
print(norm)

Ausgabe:

The vector norm is:
[41.78516483 80.95060222 91.83136719]

Beachten Sie, dass die Funktion ein N-dimensionales Array als berechnete Vektornorm zurückgegeben hat.

Nun werden wir die Matrixnorm berechnen. Wir werden den Parameter axis als 2- Tupel eines ganzzahligen Wertes übergeben.

from numpy import linalg as la
import numpy as np

x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

norm = la.norm(x, axis=(0, 1))
print("The value of matrix norm is:")
print(norm)

Ausgabe:

The value of matrix norm is:
129.35223229616102

Beispielcodes: numpy.linalg.norm() zur Verwendung des Parameters ord

Der Parameter ord hat mehrere Werte.

from numpy import linalg as la
import numpy as np

x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

norm = la.norm(x, "fro")
print("The value of matrix norm is:")
print(norm)

Ausgabe:

The value of matrix norm is:
129.35223229616102

Die Funktion hat den Wert der Frobenius-Matrixnorm erzeugt.

from numpy import linalg as la
import numpy as np

x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])

norm = la.norm(x, "nuuc")
print("The value of matrix norm is:")
print(norm)

Ausgabe: Die Funktion hat den Wert der Frobenius-Matrixnorm erzeugt:

The value of matrix norm is:
152.28781231351272

Die Funktion hat die Matrizennorm erzeugt. Sie ist die Summe der Singulärwerte.