logo

Find en matrix eller vektornorm ved hjælp af NumPy

For at finde en matrix eller vektornorm bruger vi funktionen numpy.linalg.norm() i Python-biblioteket Numpy. Denne funktion returnerer en af ​​de syv matrixnormer eller en af ​​de uendelige vektornormer afhængigt af værdien af ​​dens parametre.

Syntaks: numpy.linalg.norm(x, ord=Ingen, akse=Ingen)
Parametre:
x: input
ord: normorden
akse: Ingen, returnerer enten en vektor- eller en matrixnorm, og hvis det er en heltalsværdi, angiver den x-aksen, langs hvilken vektornormen vil blive beregnet



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

>

>

Produktion:

Vector norm: 16.881943016134134>

Ovenstående kode beregner vektornormen for en vektor med dimension (1, 10)
Eksempel 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)>

>

>

Produktion:

Matrix norm: 9.539392014169456>

Her får vi matrixnormen for en matrix med dimension (2, 3)
Eksempel 3:
For at beregne matrixnorm langs en bestemt akse -

Python3




markeringsramme html
# 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)>

>

>

Produktion:

Matrix norm along particular axis : [3.74165739 8.77496439]>

Denne kode genererer en matrixnorm, og outputtet er også en matrix af form (1, 2)
Eksempel 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)>

>

>

Produktion:

Vector norm: 14.2828568570857 Matrix norm: 14.2828568570857>

Fra ovenstående output er det klart, hvis vi konverterer en vektor til en matrix, eller hvis begge har samme elementer, så vil deres norm også være ens.