Описание тега array-broadcasting
Широковещательная передача (или одноэлементное расширение) применяет функцию поэлементно к одному или нескольким многомерным массивам, сопоставляя формы аргументов путем повторения отсутствующих или одноэлементных измерений. Не забудьте также указать язык программирования; многие языки с сильной поддержкой массивов имеют неявное или явное поведение широковещательной передачи, иногда со специфическими правилами.
Многие языки и фреймворки имеют реализации широковещательной передачи (также известной как одноэлементное расширение), включая, но не ограничиваясь:
- julia Каждую функцию в Julia можно применить с помощью трансляции, просто преобразовав
f(x, y)
кf.(x, y)
. - matlab Арифметические операторы MATLAB неявно расширяют размерность одиночного элемента с R2016b. Высший
bsxfun
Функция может явно транслировать функции двоичных операций над своими аргументами. - numpy Арифметика и многие функции неявно транслируются в этом пакете python. Массивы могут быть явно объединены в транслируемую форму с помощью
numpy.broadcast
. - octave Octave во многом похож на MATLAB.
- r R не реализует широковещательную передачу, но в некоторых ограниченных случаях ее режим повторного использования может имитировать широковещательную передачу.
Некоторые языки нижнего уровня, такие как llvm (с getelementptr
) и cuda (с синхронизацией деформаций) поддерживают широковещательную передачу между скалярами и векторами, но без поддержки массивов более высокой размерности.