Vind een matrix- of vectornorm met NumPy

Om een ​​matrix- of vectornorm te vinden gebruiken we de functie numpy.linalg.norm() van de Python-bibliotheek Numpy. Deze functie retourneert een van de zeven matrixnormen of een van de oneindige vectornormen, afhankelijk van de waarde van de parameters.

Syntaxis: numpy.linalg.norm(x, ord=Geen, axis=Geen)
Parameters:
X: invoer
woord: orde van norm
as: Geen, retourneert een vector- of een matrixnorm en als het een geheel getal is, specificeert het de as van x waarlangs de vectornorm zal worden berekend

Voorbeeld 1:

Python3




# import library> import> numpy as np> # initialize vector> vec> => np.arange(> 10> )> # compute norm of vector> vec_norm> => np.linalg.norm(vec)> print> (> 'Vector norm:'> )> print> (vec_norm)>

Uitgang:

Vector norm: 16.881943016134134 

De bovenstaande code berekent de vectornorm van een vector met dimensie (1, 10)
Voorbeeld 2:

Python3




# import library> import> numpy as np> # initialize matrix> mat> => np.array([[> 1> ,> 2> ,> 3> ],> > [> 4> ,> 5> ,> 6> ]])> # compute norm of matrix> mat_norm> => np.linalg.norm(mat)> print> (> 'Matrix norm:'> )> print> (mat_norm)>

Uitgang:

Matrix norm: 9.539392014169456 

Hier krijgen we de matrixnorm voor een matrix met dimensie (2, 3)
Voorbeeld 3:
Om de matrixnorm langs een bepaalde as te berekenen:

Python3




# import library> import> numpy as np> mat> => np.array([[> 1> ,> 2> ,> 3> ],> > [> 4> ,> 5> ,> 6> ]])> # compute matrix num along axis> mat_norm> => np.linalg.norm(mat, axis> => 1> )> print> (> 'Matrix norm along particular axis :'> )> print> (mat_norm)>

Uitgang:

Matrix norm along particular axis : [3.74165739 8.77496439] 

Deze code genereert een matrixnorm en de uitvoer is ook een vormmatrix (1, 2)
Voorbeeld 4:

Python3




# import library> import> numpy as np> # initialize vector> vec> => np.arange(> 9> )> # convert vector into matrix> mat> => vec.reshape((> 3> ,> 3> ))> # compute norm of vector> vec_norm> => np.linalg.norm(vec)> print> (> 'Vector norm:'> )> print> (vec_norm)> # computer norm of matrix> mat_norm> => np.linalg.norm(mat)> print> (> 'Matrix norm:'> )> print> (mat_norm)>

Uitgang:

Vector norm: 14.2828568570857 Matrix norm: 14.2828568570857 

Uit de bovenstaande uitvoer is het duidelijk dat als we een vector in een matrix omzetten, of als beide dezelfde elementen hebben, hun norm ook gelijk zal zijn.