logo

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



mijn levende krekel






# 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:

hacken verwerking
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:

stapel in ds

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)>

>

>

123film

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




java toevoegen aan een array
# 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.