Nájdite maticu alebo vektorovú normu pomocou NumPy
Na nájdenie matice alebo vektorovej normy používame funkciu numpy.linalg.norm() knižnice Numpy v Pythone. Táto funkcia vracia jednu zo siedmich maticových noriem alebo jednu z nekonečných vektorových noriem v závislosti od hodnoty jej parametrov.
Syntax: numpy.linalg.norm(x, ord=žiadne, os=žiadne)
Parametre:
X: vstup
slovo: poradie normy
os: Žiadne, vráti buď vektorovú alebo maticovú normu, a ak ide o celočíselnú hodnotu, špecifikuje os x, pozdĺž ktorej sa bude vektorová norma počítať.
Príklad 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)> |
Výkon:
Vector norm: 16.881943016134134
Vyššie uvedený kód vypočíta vektorovú normu vektora dimenzie (1, 10)
Príklad 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)> |
Výkon:
Matrix norm: 9.539392014169456
Tu dostaneme maticovú normu pre maticu rozmerov (2, 3)
Príklad 3:
Na výpočet normy matice pozdĺž konkrétnej osi -
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)> |
Výkon:
Matrix norm along particular axis : [3.74165739 8.77496439]
Tento kód generuje maticovú normu a výstupom je tiež matica tvaru (1, 2)
Príklad 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)> |
Výkon:
Vector norm: 14.2828568570857 Matrix norm: 14.2828568570857
Z vyššie uvedeného výstupu je jasné, ak prevedieme vektor na maticu, alebo ak obidva majú rovnaké prvky, ich norma bude tiež rovnaká.