np.arange(1,-1,-1) 
yields
array([1, 0])
as expected.
np.arange(1,-1,-0.5)
Out[8]: array([ 1. ,  0.5,  0. , -0.5]
Again all fine.
np.arange(1,-1,-0.2)
Out[10]: 
array([1.00000000e+00,   8.00000000e-01,   6.00000000e-01,
     4.00000000e-01,   2.00000000e-01,   2.22044605e-16,
    -2.00000000e-01,  -4.00000000e-01,  -6.00000000e-01,
    -8.00000000e-01])
What happened to the element that should be zero?
Same thing happens with
np.arange(1,-1,-0.1)
Out[11]: 
array([1.00000000e+00,   9.00000000e-01,   8.00000000e-01,
     7.00000000e-01,   6.00000000e-01,   5.00000000e-01,
     4.00000000e-01,   3.00000000e-01,   2.00000000e-01,
     1.00000000e-01,   2.22044605e-16,  -1.00000000e-01,
    -2.00000000e-01,  -3.00000000e-01,  -4.00000000e-01,
    -5.00000000e-01,  -6.00000000e-01,  -7.00000000e-01,
    -8.00000000e-01,  -9.00000000e-01])
This is definitely not desirable but is it expected behaviour?
 
     
     
    