Why does this use all the mathematical function from scipy instead of the built-in math? Are there significant benefits to that?
Numpy arrays are much faster than python lists etc for maths and matrix operations, (e.g. multiply this 1000 element vector by 2), which are common in scientific and engineering code.
https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/...