Por que numpy tem uma função correspondente para muitos métodos ndarray?

Alguns exemplos:

numpy.sum()
ndarray.sum()
numpy.amax()
ndarray.max()
numpy.dot()
ndarray.dot()

... e muito mais. É para oferecer suporte a algum código legado, ou existe uma razão melhor para isso? E escolho apenas com base na aparência do meu código ou é uma das duas maneiras melhores que a outra?

Eu posso imaginar que alguém possa querernumpy.dot() usarreduce (por exemplo.,reduce(numpy.dot, A, B, C, D)), mas acho que não seria tão útil para algo comonumpy.sum().

questionAnswers(3)

yourAnswerToTheQuestion