Легко ли сгенерировать два диапазона linspace, идущих от нижнего отрицательного предела до верхнего положительного предела, которые оба содержат 0,0 как точное значение?
Вот пример того, как это терпит неудачу:
>>> r1=np.arange(-.3,.6,.1)
>>> r2=np.arange(-.5,.5,.1)
>>> r1
array([ -3.00000000e-01, -2.00000000e-01, -1.00000000e-01,
5.55111512e-17, 1.00000000e-01, 2.00000000e-01,
3.00000000e-01, 4.00000000e-01, 5.00000000e-01])
>>> r2
array([ -5.00000000e-01, -4.00000000e-01, -3.00000000e-01,
-2.00000000e-01, -1.00000000e-01, -1.11022302e-16,
1.00000000e-01, 2.00000000e-01, 3.00000000e-01,
4.00000000e-01])
>>> r1[3]
5.5511151231257827e-17
>>> r2[5]
-1.1102230246251565e-16
Я бы хотел, чтобы r1 [3] и r2 [5] были точно 0.0 (при условии IEEE-754). Единственный обходной путь, который я вижу, - это создание диапазонов [-x0,0 [и добавление [0, x1]. Есть ли лучший способ, который легче читать?