Python NumPy numpy.linalg.norm() Fonction

Minahil Noor 30 janvier 2023
  1. Syntaxe de numpy.linalg.norm()
  2. Exemples de codes : numpy.linalg.norm()
  3. Exemples de codes : numpy.linalg.norm() pour trouver la norme d’un tableau à deux dimensions
  4. Codes d’exemple : numpy.linalg.norm() pour trouver la norme vectorielle et la norme matricielle en utilisant le paramètre axis
  5. Exemples de codes: numpy.linalg.norm() pour utiliser le paramètre ord
Python NumPy numpy.linalg.norm() Fonction

La fonction Python NumPy numpy.linalg.norm() trouve la valeur de la norme matricielle ou de la norme vectorielle. Le paramètre ord décide si la fonction trouvera la norme matricielle ou la norme vectorielle. Il a plusieurs valeurs définies.

Syntaxe de numpy.linalg.norm()

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

Paramètres

x Il s’agit d’une structure de type tableau. C’est le tableau d’entrée utilisé pour trouver la valeur de la norme. La valeur par défaut du paramètre axis est None, donc le tableau doit être unidimensionnel ou bidimensionnel à condition que ord soit None.
ord La valeur retournée de la fonction dépend de ce paramètre. Il définit l’ordre de la norme. Elle a plusieurs valeurs, voir ici.
axis C’est un entier, aucun ou 2 tuple d’entiers. Si c’est un entier, alors il représente l’axe le long duquel la fonction trouvera la norme vectorielle. Sa valeur par défaut est None, ce qui signifie que la fonction trouvera soit la norme matricielle, soit la norme vectorielle. Si c’est un entier 2 tuple alors la fonction retournera la valeur de la norme matricielle.
keepdims Il s’agit d’un paramètre booléen. Sa valeur par défaut est False. Si sa valeur est True, alors il indique les dimensions de l’axe normalisé avec une taille égale à un.

Renvoie

Il retourne la norme de la matrice ou d’un vecteur sous la forme d’une valeur float ou d’un tableau à N dimensions.

Exemples de codes : numpy.linalg.norm()

Nous utiliserons cette fonction pour trouver la norme d’un tableau unidimensionnel.

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)

Production:

The value of norm is:
257.4800963181426

Elle a renvoyé une valeur float qui est la valeur de la norme.

Exemples de codes : numpy.linalg.norm() pour trouver la norme d’un tableau à deux dimensions

Nous allons maintenant passer un tableau à deux dimensions.

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)

Production:

The value of norm is:
129.35223229616102

Si nous fixons le paramètre ord à une valeur autre que None et que nous passons un tableau qui n’est ni unidimensionnel ni bidimensionnel, la fonction va générer une ValueError puisque le paramètre axis est None.

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)

Production:

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.

Codes d’exemple : numpy.linalg.norm() pour trouver la norme vectorielle et la norme matricielle en utilisant le paramètre axis

Nous allons d’abord trouver la norme du vecteur.

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)

Production:

The vector norm is:
[41.78516483 80.95060222 91.83136719]

Notez que la fonction a renvoyé un tableau à N dimensions comme norme vectorielle calculée.

Maintenant, nous allons calculer la norme matricielle. Nous allons passer le paramètre axis comme le 2- tuple de la valeur entière.

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)

Production:

The value of matrix norm is:
129.35223229616102

Exemples de codes: numpy.linalg.norm() pour utiliser le paramètre ord

Le paramètre ord a plusieurs valeurs.

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)

Production:

The value of matrix norm is:
129.35223229616102

La fonction a généré la valeur de la norme de la matrice de Frobenius.

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)

Production:

The value of matrix norm is:
152.28781231351272

La fonction a généré la norme matricielle. C’est la somme des valeurs au singulier.