Funzione Python NumPy numpy.linalg.norm()

Minahil Noor 30 gennaio 2023
  1. Sintassi di numpy.linalg.norm()
  2. Codici di esempio: numpy.linalg.norm()
  3. Codici di esempio: numpy.linalg.norm() per trovare la norma di un array bidimensionale
  4. Codici di esempio: numpy.linalg.norm() per trovare la norma vettoriale e la norma matrice utilizzando il parametro axis
  5. Codici di esempio: numpy.linalg.norm() per utilizzare il parametro ord
Funzione Python NumPy numpy.linalg.norm()

La funzione Python NumPy numpy.linalg.norm() trova il valore della norma di un array o della norma del vettore. Il parametro ord decide se la funzione troverà la norma di un array o la norma del vettore. Ha diversi valori definiti.

Sintassi di numpy.linalg.norm()

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

Parametri

x È una struttura a matrice. È l’array di input utilizzato per trovare il valore della norma. Il valore predefinito per il parametro axis è None, quindi l’array dovrebbe essere unidimensionale o bidimensionale a condizione che ord sia None.
ord Il valore restituito dalla funzione dipende da questo parametro. Definisce l’ordine della norma. Ha diversi valori, controlla qui.
axis È un numero intero, None o 2 tupla di numeri interi. Se è un numero intero, rappresenta l’asse lungo il quale la funzione troverà la norma del vettore. Il suo valore predefinito è None, il che significa che la funzione troverà o la norma di un array o la norma del vettore. Se è un valore intero 2 tupla, la funzione restituirà il valore della norma di un array.
keepdims È un parametro booleano. Il suo valore predefinito è False. Se il suo valore è True, mostra le dimensioni dell’asse normato con dimensione uguale a uno.

Ritorno

Restituisce la norma di un array o un vettore sotto forma di un valore float o di un array N-dimensionale.

Codici di esempio: numpy.linalg.norm()

Useremo questa funzione per trovare la norma di un array unidimensionale.

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)

Produzione:

The value of norm is:
257.4800963181426

Ha restituito un valore float che è il valore della norma.

Codici di esempio: numpy.linalg.norm() per trovare la norma di un array bidimensionale

Passeremo ora un array bidimensionale.

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)

Produzione:

The value of norm is:
129.35223229616102

Se impostiamo il parametro ord su un valore diverso da None e passiamo un array che non è né unidimensionale né bidimensionale, la funzione genererà un ValueError poiché il parametro axis è 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)

Produzione:

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.

Codici di esempio: numpy.linalg.norm() per trovare la norma vettoriale e la norma matrice utilizzando il parametro axis

Per prima cosa troveremo la norma vettoriale.

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)

Produzione:

The vector norm is:
[41.78516483 80.95060222 91.83136719]

Si noti che la funzione ha restituito un array N-dimensionale come norma vettoriale calcolata.

Ora, calcoleremo la norma di un array. Passeremo il parametro axis come 2- tupla del valore intero.

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)

Produzione:

The value of matrix norm is:
129.35223229616102

Codici di esempio: numpy.linalg.norm() per utilizzare il parametro ord

Il parametro ord ha diversi valori.

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)

Produzione:

The value of matrix norm is:
129.35223229616102

La funzione ha generato il valore della norma di matrice 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)

Produzione:

The value of matrix norm is:
152.28781231351272

La funzione ha generato la norma di un array. È la somma dei valori singolari.