$p$-norms can be computed in two different ways in numpy:
import numpy as np import numpy.linalg as la
x = np.array([1.,2,3])
First, let's compute the 2-norm by hand:
Next, let's use
numpy machinery to compute it:
Both of the values above represent the 2-norm: $\|x\|_2$.
Different values of $p$ work similarly:
The $\infty$ norm represents a special case, because it's actually (in some sense) the limit of $p$-norms as $p\to\infty$.
Recall that: $\|x\|_\infty = \max(|x_1|, |x_2|, |x_3|)$.
Where does that come from? Let's try with $p=100$:
array([ 1.00000000e+00, 1.26765060e+30, 5.15377521e+47])
Compare to last value in vector: the addition has essentially taken the maximum:
Numpy can compute that, too: