Najděte matici nebo vektorovou normu pomocí NumPy
K nalezení matice nebo vektorové normy použijeme funkci numpy.linalg.norm() pythonské knihovny Numpy. Tato funkce vrací jednu ze sedmi maticových norem nebo jednu z nekonečných vektorových norem v závislosti na hodnotě jejích parametrů.
Syntax: numpy.linalg.norm(x, ord=žádný, osa=žádný)
Parametry:
X: vstup
slovo: řád normy
osa: Žádný, vrátí buď vektorovou nebo maticovou normu, a pokud se jedná o celočíselnou hodnotu, specifikuje osu x, podél které bude vektorová norma vypočítána.
Pří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ýstup:
Vector norm: 16.881943016134134
Výše uvedený kód počítá vektorovou normu vektoru dimenze (1, 10)
Pří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ýstup:
Matrix norm: 9.539392014169456
Zde získáme maticovou normu pro matici dimenzí (2, 3)
Příklad 3:
Chcete-li vypočítat normu matice podél konkrétní osy -
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ýstup:
Matrix norm along particular axis : [3.74165739 8.77496439]
Tento kód generuje maticovou normu a výstupem je také matice tvaru (1, 2)
Pří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ýstup:
Vector norm: 14.2828568570857 Matrix norm: 14.2828568570857
Z výše uvedeného výstupu je jasné, pokud převedeme vektor na matici, nebo pokud oba mají stejné prvky, bude jejich norma také stejná.