Является ли Numpy векторизация с использованием циклов C? - PullRequest
0 голосов
/ 24 сентября 2019

Я читал несколько статей / постов, касающихся numpy, и мне было интересно, как на самом деле работает векторизация в numpy.В некоторых статьях упоминается использование циклов Си, в то время как в других говорится о вещах, более близких к аппаратному обеспечению, таких как наборы векторных инструкций.Например, если у меня есть следующий код:

a = np.array([1,2,3])
b = np.array([2,4,6])
M = np.array([[1,2,3],[4,5,6],[7,8,9]])

и я вызываю следующие функции:

c = np.dot(a,b)
M2 = M@M
test_condition = np.where(a > 2, a + 999, a)

Тогда я предполагал, что вызовы векторизованных функций в приведенных выше примерах были простопричудливый способ сказать, что numpy вызывает быстрый скомпилированный цикл C for для обработки каждого элемента.Это так, или что-то гораздо более сложное, что на самом деле происходит под капотом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...