Strange RuntimeWarning: недопустимое значение в sqrt
Я работаю над задачей, в которой я беру позиции огромного количества частиц (128 ** 3) из файла hdf5, а затем вычисляю относительное расстояние между ними.
Запустив код, я обнаружил неожиданное RuntimeWarning в функции sqrt. Работая над кодом, я выделяю проблему в следующих строках:
#This lines presented the problem
((Pos-Pos[0])[:,0]**2)
np.sqrt(((Pos-Pos[0])[:,0]**2))
#This lines do not present the problem
((Pos-Pos[0])[:,0]**2)[1:]
np.sqrt(((Pos-Pos[0])[1:,0]**2)[1:])
#This lines do not present the problem
((Pos-Pos[0])[:,0]**2)[:100]
np.sqrt(((Pos-Pos[0])[:,0]**2)[:100])
#My proposition to solve it
((Pos-Pos[0])[:,0]**2)
np.sqrt(((Pos-Pos[0])[:,0]**2)+1e-10)
Я не очень хорошо понимаю природу этой проблемы. Не могли бы вы помочь мне лучше понять это?