Introduction to NumPy and Matplotlib
Chapter 8: NumPy recap and exercises
Compute a unit vector
A question using vectors!
Challenge #3
Use NumPy
to compute the unit vector for x
below.
A unit vector is computed by dividing a vector by its length, or more specifically its L_2 norm \left\Vert x \right\Vert_2 = \sqrt{x^2_1 + x^2_2 = ... + x^2_n}.
import numpy as np
x = np.array([3, 5, 1, 2, 4])
unit_x = ????
assert np.all(np.isclose(
unit_x,
np.array([0.40451992, 0.67419986, 0.13483997,
0.26967994, 0.53935989])
))
One possible solution
import numpy as np
x = np.array([3, 5, 1, 2, 4])
norm = np.sqrt((x**2).sum())
unit_x = x / norm
Other ways of computing the L_2-norm
norm = np.sqrt(np.sum(np.square(x)))
norm = np.linalg.norm(x)