I identified a strange behaviour of the ** operator. Here is the code:
import numpy as np
n = np.arange(0,20)
print(np.c_[n,10 **n])
I obtain the following output:
array([[ 0, 1],
[ 1, 10],
[ 2, 100],
[ 3, 1000],
[ 4, 10000],
[ 5, 100000],
[ 6, 1000000],
[ 7, 10000000],
[ 8, 100000000],
[ 9, 1000000000],
[ 10, 10000000000],
[ 11, 100000000000],
[ 12, 1000000000000],
[ 13, 10000000000000],
[ 14, 100000000000000],
[ 15, 1000000000000000],
[ 16, 10000000000000000],
[ 17, 100000000000000000],
[ 18, 1000000000000000000],
[ 19, -8446744073709551616]])
I do not understand the reason of the out for n=19.
print(type(n[0]))line.