Произведение Адамара (матрицы)
В математике произведение Адамара (также известное как поэлементное произведение , поэлементное произведение) [1] : гл. 5 или продукт Шура [2] ) — это бинарная операция , которая принимает две матрицы одинаковых размеров и возвращает матрицу перемноженных соответствующих элементов. Эту операцию можно рассматривать как «наивное умножение матриц», и она отличается от произведения матрицы . Оно приписано и названо в честь французского математика Жака Адамара или немецкого математика Иссаи Шура .
Произведение Адамара ассоциативно и дистрибутивно . В отличие от матричного произведения, оно также коммутативно . [3]
Определение
[ редактировать ]Для двух матриц A и B одинаковой размерности m × n произведение Адамара (иногда [4] [5] [6] ) представляет собой матрицу той же размерности, что и операнды, с элементами, заданными формулой [3]
Для матриц разных размерностей ( m × n и p × q , где m ≠ p или n ≠ q ) произведение Адамара не определено.
Например, произведение Адамара для двух произвольных матриц размера 2 × 3:
Характеристики
[ редактировать ]- Произведение Адамара коммутативно (при работе с коммутативным кольцом), ассоциативно и дистрибутивно по сложению. То есть, если A , B и C — матрицы одного размера, а k — скаляр:
- Единичная матрица при умножении Адамара двух m × n матриц размера представляет собой матрицу размера m × n , где все элементы равны 1 . Это отличается от единичной матрицы при обычном умножении матрицы, где только элементы главной диагонали равны 1. Более того, матрица имеет обратную при умножении Адамара тогда и только тогда, когда ни один из элементов не равен нулю. [7]
- Для векторов x и y и соответствующих диагональных матриц D x и D y с этими векторами в качестве главных диагоналей справедливо следующее тождество: [1] : 479 где х * обозначает транспонирование x . сопряженное В частности, используя векторы единиц, это показывает, что сумма всех элементов произведения Адамара является следом AB . Т где верхний индекс T обозначает транспонирование матрицы , то есть . Связанный результат для квадратов A и B заключается в том, что суммы строк их произведения Адамара являются диагональными элементами AB. Т : [8] Сходным образом, Кроме того, произведение матрицы-вектора Адамара можно выразить как: где образованный из диагоналей матрицы M. — вектор ,
- Произведение Адамара является основной подматрицей произведения Кронекера . [9] [10] [11]
- Произведение Адамара удовлетворяет ранговому неравенству
- Если A и B — положительно определенные матрицы , то выполняется следующее неравенство, включающее произведение Адамара: [12] где λ i ( A ) е i- наибольшее собственное значение A . —
- Если D и E — диагональные матрицы , то [13]
- Произведение Адамара двух векторов и аналогично матричному умножению соответствующей диагональной матрицы одного вектора на другой вектор:
- Вектор к диагональной матрице оператор может быть выражен с использованием произведения Адамара как: где — постоянный вектор с элементами и является единичной матрицей .
Смешанное свойство продукта
[ редактировать ]где является произведением Кронекера , предполагая имеет такие же размеры и с .
где обозначает продукт расщепления граней . [14]
где — постолбцовое произведение Хатри–Рао .
Теорема Шура о произведении
[ редактировать ]Произведение Адамара двух положительно-полуопределенных матриц является положительно-полуопределенным. [3] [8] Это известно как теорема о произведении Шура. [7] в честь русского математика Иссая Шура . Для двух положительно-полуопределенных матриц A и B также известно, что определитель их произведения Адамара больше или равен произведению их соответствующих определителей: [8]
Аналогичные операции
[ редактировать ]В математической литературе встречаются и другие операции Адамара: [15] а именно корень Адамара и Степень Адамара (которая по сути одно и то же из-за дробных индексов), определенная для такой матрицы, что:
Для
и для
The Обратное Адамара гласит: [15]
А Деление Адамара определяется как: [16] [17]
В языках программирования
[ редактировать ]Большинство языков научного или числового программирования включают произведение Адамара под разными названиями.
В MATLAB произведение Адамара выражается как «точечное умножение»: a .* b
или вызов функции: times(a, b)
. [18] Он также имеет аналогичные точечные операторы, к которым относятся, например, операторы a .^ b
и a ./ b
. [19] Благодаря этому механизму можно зарезервировать *
и ^
для матричного умножения и матричной экспоненты соответственно.
Язык программирования Julia имеет синтаксис, аналогичный MATLAB, где умножение Адамара называется широковещательным умножением и также обозначается a .* b
и другие операторы определяются аналогично поэлементно, например, степени Адамара используют a .^ b
. [20] Но в отличие от MATLAB, в Julia этот «точечный» синтаксис обобщен с помощью универсального оператора широковещания. .
который может применять любую функцию поэлементно. Сюда входят как бинарные операторы (такие как вышеупомянутые умножение и возведение в степень, а также любой другой бинарный оператор, такой как произведение Кронекера), а также унарные операторы, такие как !
и √
. Таким образом, любая функция в префиксной записи f
может применяться как f.(x)
. [21]
Python не имеет встроенной поддержки массивов, что приводит к противоречивым или противоречивым обозначениям. Числовая библиотека NumPy интерпретирует a*b
или a.multiply(b)
как произведение Адамара, и использует a@b
или a.matmul(b)
для матричного продукта. С помощью символьной библиотеки SymPy умножение объекты массива как a*b
или a@b
будет производить матричный продукт. Произведение Адамара можно получить вызовом метода a.multiply_elementwise(b)
. [22] Некоторые пакеты Python включают поддержку степеней Адамара с использованием таких методов, как np.power(a, b)
или Панды метод a.pow(b)
.
В C++ библиотека Eigen предоставляет cwiseProduct
функция-член для Матричный класс ( a.cwiseProduct(b)
), а библиотека Armadillo использует оператор %
составлять компактные выражения ( a % b
; a * b
является матричным произведением).
В GAUSS и HP Prime эта операция называется умножением массива.
В Fortran , R , APL , J и Wolfram Language ( Mathematica ) оператор умножения *
или ×
применить произведение Адамара, тогда как матричное произведение записывается с помощью matmul
, %*%
, +.×
, +/ .*
и .
, соответственно.Пакет R matrixcalc вводит функцию hadamard.prod()
для произведения Адамара числовых матриц или векторов. [23]
Приложения
[ редактировать ]Произведение Адамара появляется в алгоритмах сжатия с потерями, таких как JPEG . Шаг декодирования включает в себя произведение «вход-за-вход», другими словами, произведение Адамара. [ нужна ссылка ]
При обработке изображений оператор Адамара можно использовать для улучшения, подавления или маскировки областей изображения. Одна матрица представляет исходное изображение, другая действует как весовая или маскирующая матрица.
Он используется в литературе по машинному обучению , например, для описания архитектуры рекуррентных нейронных сетей как GRU или LSTM . [24]
Он также используется для изучения статистических свойств случайных векторов и матриц. [25] [26]
Проникающее средство для лица
[ редактировать ]По определению В. Слюсаря проникающее гранное произведение p × g матрицы и n -мерная матрица ( n > 1) с p × g ( блоками ) представляет собой матрицу размера формы: [27]
Пример
[ редактировать ]Если
затем
Основные свойства
[ редактировать ]где обозначает произведение матриц граней,
- где является вектором.
Приложения
[ редактировать ]Произведение проникающей грани используется в тензорно -матричной теории цифровых антенных решеток . [27] Эту операцию также можно использовать в моделях искусственных нейронных сетей , особенно в сверточных слоях. [28]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ↑ Перейти обратно: Перейти обратно: а б Хорн, Роджер А.; Джонсон, Чарльз Р. (2012). Матричный анализ . Издательство Кембриджского университета.
- ^ Дэвис, Чендлер (1962). «Норма эксплуатации изделия Шура». Нумерическая математика . 4 (1): 343–44. дои : 10.1007/bf01386329 . S2CID 121027182 .
- ↑ Перейти обратно: Перейти обратно: а б с Миллион, Элизабет (12 апреля 2007 г.). «Произведение Адамара» (PDF) . buzzard.ups.edu . Проверено 6 сентября 2020 г.
- ^ «Продукт Адамара — глоссарий машинного обучения» . машинное обучение.wtf .
- ^ «Линейная алгебра. Что означает точка в круге?» . Математический обмен стеками .
- ^ «Поэлементное (или поточечное) обозначение операций?» . Математический обмен стеками .
- ↑ Перейти обратно: Перейти обратно: а б Миллион, Элизабет. «Произведение Адамара» (PDF) . Проверено 2 января 2012 г.
- ↑ Перейти обратно: Перейти обратно: а б с Стян, Джордж П.Х. (1973), «Произведение Адамара и многомерный статистический анализ», Линейная алгебра и ее приложения , 6 : 217–240, doi : 10.1016/0024-3795(73)90023-2 , hdl : 10338.dmlcz/102190
- ^ Лю, Шуанчжэ; Тренклер, Гетц (2008). «Адамар, Хатри-Рао, Кронекер и другие матричные продукты». Международный журнал информационных и системных наук . 4 (1): 160–177.
- ^ Лю, Шуанчжэ; Лейва, Виктор; Чжуан, Дэн; Ма, Тифенг; Фигероа-Суньига, Хорхе И. (2022). «Матричное дифференциальное исчисление с приложениями в многомерной линейной модели и ее диагностика» . Журнал многомерного анализа . 188 : 104849. doi : 10.1016/j.jmva.2021.104849 . S2CID 239598156 .
- ^ Лю, Шуанчжэ; Тренклер, Гетц; Колло, Тону; фон Розен, Дитрих; Баксалари, Оскар Мария (2023). «Профессор Хайнц Нойдекер и матричное дифференциальное исчисление». Статистические документы . дои : 10.1007/s00362-023-01499-w .
- ^ Хиай, Фумио; Линь, Минхуа (февраль 2017 г.). «О неравенстве собственных значений, включающем произведение Адамара» . Линейная алгебра и ее приложения . 515 : 313–320. дои : 10.1016/j.laa.2016.11.017 .
- ^ «Проект» (PDF) . buzzard.ups.edu. 2007 . Проверено 18 декабря 2019 г.
- ^ Слюсарь, В.И. (1998). «Конечные продукты в матрицах радиолокационных приложений» (PDF) . Радиоэлектроника и системы связи . 41 (3): 50–53.
- ↑ Перейти обратно: Перейти обратно: а б Римс, Роберт (1999). «Обратные Адамара, квадратные корни и произведения почти полуопределенных матриц» . Линейная алгебра и ее приложения . 288 : 35–43. дои : 10.1016/S0024-3795(98)10162-3 .
- ^ Вецштейн, Гордон; Ланман, Дуглас; Хирш, Мэтью; Раскар, Рамеш. «Дополнительный материал: Тензорные дисплеи: синтез сжимающего светового поля с использованием многослойных дисплеев с направленной подсветкой» (PDF) . Медиалаборатория Массачусетского технологического института .
- ^ Цыганек, Богуслав (2013). Обнаружение и распознавание объектов на цифровых изображениях: теория и практика . Джон Уайли и сыновья. п. 109. ИСБН 9781118618363 .
- ^ «Функция времени MATLAB» .
- ^ «Массив против матричных операций» .
- ^ «Векторизованные «точечные» операторы» . Проверено 31 января 2024 г.
- ^ «Точечный синтаксис для векторизации функций» . Проверено 31 января 2024 г.
- ^ «Общие матрицы — документация SymPy 1.9» .
- ^ «Умножение матриц» . Введение в Р. Проект R для статистических вычислений. 16 мая 2013 года . Проверено 24 августа 2013 г.
- ^ Сак, Хашим; Старший, Эндрю; Бофе, Франсуаза (5 февраля 2014 г.). «Архитектуры рекуррентных нейронных сетей на основе долгосрочной краткосрочной памяти для распознавания речи с большим словарным запасом». arXiv : 1402.1128 [ cs.NE ].
- ^ Нойдекер, Хайнц; Лю, Шуанчжэ; Поласек, Вольфганг (1995). «Произведение Адамара и некоторые его применения в статистике». Статистика . 26 (4): 365–373. дои : 10.1080/02331889508802503 .
- ^ Нойдекер, Хайнц; Лю, Шуанчжэ (2001). «Некоторые статистические свойства произведений Адамара случайных матриц». Статистические документы . 42 (4): 475–487. дои : 10.1007/s003620100074 . S2CID 121385730 .
- ↑ Перейти обратно: Перейти обратно: а б с Слюсарь В.И. (13 марта 1998 г.). «Семейство матриц лицевых продуктов и его свойства» (PDF) . Кибернетика и системный анализ ПК Кибернетика и Системный анализ. 1999 . 35 (3): 379–384. дои : 10.1007/BF02733426 . S2CID 119661450 .
- ^ Ха Д., Дай А.М., Ле К.В. (2017). «Гиперсети». Международная конференция по обучению представлениям (ICLR), 2017. – Тулон, 2017 .: Страница 6. arXiv : 1609.09106 .
{{cite journal}}
: CS1 maint: несколько имен: список авторов ( ссылка )