In questo post, descrivo la ricerca della norma di un array numpy. La norma di un array è una funzione che mappa l'array a un numero reale non negativo. Per trovare la norma di un array numpy, usiamo il numpy di Numpy.linalg.Metodo Norm. Il metodo prende un array o un oggetto simile a un array (Ex: Python List) come input e restituisce un galleggiante o un array di valori normali.
Vediamo un esempio.
$ Python3La norma predefinita calcolata da Numpy è la Norma L2 che è anche nota come norma euclidea. L'ordine di norma può essere specificato utilizzando il parametro Ord fornito a Numpy.linalg.norma. Continuando dall'alto,
>>> np.linalg.Norm (A, Ord = 1)L'istruzione sopra riportata ha calcolato la norma 1. La norma 1 è semplicemente la somma dei valori assoluti dell'array. In generale, la norma di un vettore per qualsiasi ordine ordina viene calcolata come:
(∑i | x | ord) 1/ordDove la somma viene eseguita sul valore assoluto di ciascun elemento dell'array. Si può calcolare la norma di bypass dell'infinito.Inf come ordine. Norm Infinity è il valore assoluto massimo di tutti gli elementi nell'array.
>>> np.linalg.Norm (A, Ord = NP.INF)Supponiamo di avere una matrice per la quale la norma dovrebbe essere calcolata.
>>> a = np.Linspace (-4, 4, 9).Reshape (3, 3)Quanto sopra restituisce la norma euclidea calcolata su tutta la matrice. Ma ci sono scenari in cui saremo tenuti a calcolare le norme su un determinato asse. Numpy consente inoltre di utilizzare un asse di parametro per specificare un asse lungo il quale la norma può essere calcolata per le matrici. Usando l'asse dei parametri, si può passare l'asse attraverso il quale la norma deve essere calcolata. L'asse 0 è la prima dimensione. Continuando dall'esempio precedente, se specifichiamo Axis = 0, la norma verrà calcolata attraverso le righe e specificando l'asse = 1 calcola la norma tra le colonne.
>>> aSe si tratta di una matrice multidimensionale, una tupla di numeri interi che specifica l'asse attraverso il quale deve essere calcolata la norma può essere passata al parametro dell'asse.
>>> a = np.Linspace (1, 8, 8).Reshape (2, 2, 2)Nell'esempio sopra, quando abbiamo specificato l'asse = (1,2) la norma viene calcolata attraverso l'asse 1 e 2 per ogni subarray nell'asse 0.