Hitta en matris eller vektornorm med hjälp av NumPy
För att hitta en matris eller vektornorm använder vi funktionen numpy.linalg.norm() i Python-biblioteket Numpy. Denna funktion returnerar en av de sju matrisnormerna eller en av de oändliga vektornormerna beroende på värdet på dess parametrar.
Syntax: numpy.linalg.norm(x, ord=Ingen, axis=Ingen)
Parametrar:
x: inmatning
ord: normordning
axel: Ingen, returnerar antingen en vektor- eller en matrisnorm och om det är ett heltalsvärde specificerar det x-axeln längs vilken vektornormen kommer att beräknas
Exempel 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
Ovanstående kod beräknar vektornormen för en vektor med dimension (1, 10)
Exempel 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
Här får vi matrisnormen för en matris med dimension (2, 3)
Exempel 3:
Att beräkna matrisnorm längs en viss axel –
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)> |
Produktion:
Matrix norm along particular axis : [3.74165739 8.77496439]
Denna kod genererar en matrisnorm och utgången är också en formmatris (1, 2)
Exempel 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
Från ovanstående utdata är det tydligt om vi omvandlar en vektor till en matris, eller om båda har samma element så kommer deras norm att vara lika.