Вопросы с тегом «vectorization»

Векторизация относится к парадигме программирования, в которой функции работают с целыми массивами за один раз. Это дает преимущества с точки зрения вызовов функций, доступа к памяти, распараллеливания и выразительности кода. Некоторые языки программирования, такие как MATLAB, оптимизированы для обеспечения максимальной производительности при векторизации.

2247
Почему поэлементное сложение намного быстрее в отдельных циклах, чем в комбинированном цикле?

Предположим a1, b1, c1иd1 точка в динамической памяти , и мой числовой код имеет следующий основной цикл. const int n = 100000; for (int j = 0; j < n; j++) { a1[j] += b1[j]; c1[j] += d1[j]; } Этот цикл выполняется 10000 раз через другой внешний forцикл. Чтобы ускорить его, я изменил код на: for...

468
Разница между картой, applymap и методами применения в Pandas

Можете ли вы сказать мне, когда использовать эти методы векторизации с основными примерами? Я вижу, что mapэто Seriesметод, а остальные DataFrameметоды. Я запутался applyи в applymapметодах, хотя. Почему у нас есть два метода для применения функции к DataFrame? Опять же, простые примеры, которые...

324
Существует ли функция R для нахождения индекса элемента в векторе?

В R у меня есть элемент xи вектор v. Я хочу найти первый индекс элемента, vкоторый равен x. Я знаю, что один из способов сделать это:, which(x == v)[[1]]но это кажется чрезмерно неэффективным. Есть ли более прямой способ сделать это? Для бонусных баллов есть ли функция, которая работает, если...

190
Что такое «векторизация»?

Несколько раз я встречал этот термин в matlab, fortran ... какой-то другой ... но я так и не нашел объяснения, что это значит, и что он делает? Итак, я спрашиваю здесь, что такое векторизация и что означает, например, что «цикл...

138
Семейство «* apply» действительно не векторизовано?

Таким образом, мы привыкли говорить каждому новому пользователю R, что « applyне векторизован, посмотрите Patrick Burns R Inferno Circle 4 », в котором говорится (цитирую): Распространенный рефлекс - использовать функцию из семейства apply. Это не векторизация, это скрытие петель . В определении...

124
Эффективная оценка функции в каждой ячейке массива NumPy

Учитывая массив A NumPy , каков самый быстрый / наиболее эффективный способ применить одну и ту же функцию f к каждой ячейке? Предположим, что мы присвоим A (i, j) значение f (A (i, j)) . Функция f не имеет двоичного вывода, поэтому операции маски (ing) не помогут. Является ли "очевидная" итерация...

108
Циклы for в пандах действительно плохи? Когда мне нужно заботиться?

Есть forпетли действительно «плохо»? Если нет, то в каких ситуациях они были бы лучше, чем использование более традиционного «векторизованного» подхода? 1 Я знаком с концепцией «векторизации» и с тем, как pandas использует векторизованные методы для ускорения вычислений. Векторизованные функции...

106
Как я могу применить функцию к каждой строке / столбцу матрицы в MATLAB?

Вы можете применить функцию к каждому элементу в векторе, например, сказав v + 1, или вы можете использовать функцию arrayfun. Как я могу сделать это для каждой строки / столбца матрицы без использования цикла...

95
Генерируют ли какие-либо JIT-компиляторы JVM код, использующий векторизованные инструкции с плавающей запятой?

Скажем, узким местом моей Java-программы на самом деле являются узкие циклы для вычисления множества векторных точечных произведений. Да, я профилировал, да, это узкое место, да, это важно, да, именно такой алгоритм, да, я запустил Proguard для оптимизации байтового кода и т. Д. По сути, работа -...

10
Matlab Векторизация - ненулевые индексы строки матрицы для ячейки

Я работаю с Matlab. У меня есть двоичная квадратная матрица. Для каждой строки есть одна или несколько записей 1. Я хочу просмотреть каждую строку этой матрицы и вернуть индекс этих 1 и сохранить их в записи ячейки. Мне было интересно, есть ли способ сделать это без циклического прохождения по всем...

9
Максимальное значение на диагональ в двумерном массиве

У меня есть массив и нужно максимум разницы прокатки с динамическим окном. a = np.array([8, 18, 5,15,12]) print (a) [ 8 18 5 15 12] Итак, сначала я создаю разницу сам по себе: b = a - a[:, None] print (b) [[ 0 10 -3 7 4] [-10 0 -13 -3 -6] [ 3 13 0 10 7] [ -7 3 -10 0 -3] [ -4 6 -7 3 0]] Затем...