stringtranslate.com

Произведение Адамара (матрицы)

Произведение Адамара действует на матрицах одинаковой формы и создает третью матрицу тех же размеров.

В математике произведение Адамара (также известное как поэлементное произведение , поэлементное произведение [1] : гл. 5  или произведение Шура [2] ) — это бинарная операция , которая берет две матрицы одинакового размера и возвращает матрицу умноженных соответствующих элементов. Эту операцию можно рассматривать как «наивное матричное умножение», и она отличается от матричного произведения . Она приписывается французскому математику Жаку Адамару или немецкому математику Иссаю Шуру и названа в их честь .

Произведение Адамара ассоциативно и дистрибутивно . В отличие от матричного произведения, оно также коммутативно . [3]

Определение

Для двух матриц A и B одинакового размера m × n произведение Адамара (иногда [4] [5] [6] ) представляет собой матрицу того же размера, что и операнды, с элементами, заданными формулой [3]

Для матриц разных размерностей ( m × n и p × q , где mp или nq ) произведение Адамара не определено.

Например, произведение Адамара для двух произвольных матриц 2 × 3 равно:

Характеристики

Свойство смешанного продукта

где  — произведение Кронекера , предполагая, что имеет те же размерности, что и .

где  обозначает продукт разделения лица . [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), или метода Pandasa.pow(b) .

В C++ библиотека Eigen предоставляет cwiseProductфункцию-член для класса Matrix ( ), тогда как библиотека Armadillo использует оператор для создания компактных выражений ( ; — матричное произведение).a.cwiseProduct(b)%a % ba * 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]

где обозначает произведение матриц, разделяющее грани ,

где — вектор.

Приложения

Продукт проникающей грани используется в тензорно -матричной теории цифровых антенных решеток . [27] Эта операция также может использоваться в моделях искусственных нейронных сетей , в частности, сверточных слоях. [28]

Смотрите также

Ссылки

  1. ^ ab Хорн, Роджер А.; Джонсон, Чарльз Р. (2012). Матричный анализ . Издательство Кембриджского университета.
  2. ^ Дэвис, Чендлер (1962). «Норма эксплуатации изделия Шура». Нумерическая математика . 4 (1): 343–44. дои : 10.1007/bf01386329. S2CID  121027182.
  3. ^ abc Million, Элизабет (12 апреля 2007 г.). "Продукт Адамара" (PDF) . buzzard.ups.edu . Получено 6 сентября 2020 г. .
  4. ^ "Продукт Адамара - Глоссарий машинного обучения". machinelearning.wtf .
  5. ^ "линейная алгебра - Что означает точка в круге?". Mathematics Stack Exchange .
  6. ^ "Элементная (или точечная) запись операций?". Mathematics Stack Exchange .
  7. ^ ab Million, Elizabeth. "The Adamard Product" (PDF) . Получено 2 января 2012 г.
  8. ^ abc Styan, George PH (1973), «Продукты Адамара и многомерный статистический анализ», Линейная алгебра и ее приложения , 6 : 217–240, doi : 10.1016/0024-3795(73)90023-2, hdl : 10338.dmlcz/102190
  9. ^ Лю, Шуанчжэ; Тренклер, Гётц (2008). «Адамард, Хатри-Рао, Кронекер и другие матричные продукты». Международный журнал информации и системных наук . 4 (1): 160–177.
  10. ^ Лю, Шуанчжэ; Лейва, Виктор; Чжуан, Дэн; Ма, Тифенг; Фигероа-Суньига, Хорхе И. (2022). «Матричное дифференциальное исчисление с приложениями в многомерной линейной модели и ее диагностика». Журнал многомерного анализа . 188 : 104849. doi : 10.1016/j.jmva.2021.104849 . S2CID  239598156.
  11. ^ Лю, Шуанчжэ; Тренклер, Гетц; Колло, Тыну; фон Розен, Дитрих; Баксалари, Оскар Мария (2023). «Профессор Хайнц Нойдекер и матричное дифференциальное исчисление». Статистические документы . doi : 10.1007/s00362-023-01499-w.
  12. ^ Хиай, Фумио; Линь, Минхуа (февраль 2017 г.). «О неравенстве собственных значений, включающем произведение Адамара». Линейная алгебра и ее приложения . 515 : 313–320. doi : 10.1016/j.laa.2016.11.017 .
  13. ^ "Проект" (PDF) . buzzard.ups.edu. 2007 . Получено 2019-12-18 .
  14. ^ Слюсарь, В.И. (1998). «Конечные продукты в матрицах в радиолокационных приложениях» (PDF) . Радиоэлектроника и системы связи . 41 (3): 50–53.
  15. ^ ab Reams, Robert (1999). "Обратные Адамара, квадратные корни и произведения почти полуопределенных матриц". Линейная алгебра и ее приложения . 288 : 35–43. doi : 10.1016/S0024-3795(98)10162-3 .
  16. ^ Вецштейн, Гордон; Ланман, Дуглас; Хирш, Мэтью; Раскар, Рамеш. «Дополнительный материал: Тензорные дисплеи: компрессионный синтез светового поля с использованием многослойных дисплеев с направленной подсветкой» (PDF) . MIT Media Lab .
  17. ^ Cyganek, Богуслав (2013). Обнаружение и распознавание объектов в цифровых изображениях: теория и практика. John Wiley & Sons. стр. 109. ISBN 9781118618363.
  18. ^ "Функция MATLAB умножения".
  19. ^ «Операции с массивами и матрицами».
  20. ^ "Векторизованные "точечные" операторы" . Получено 31 января 2024 г. .
  21. ^ "Синтаксис точек для векторизации функций" . Получено 31 января 2024 г.
  22. ^ «Общие матрицы — документация SymPy 1.9».
  23. ^ "Умножение матриц". Введение в R. Проект R для статистических вычислений. 16 мая 2013 г. Получено 24 августа 2013 г.
  24. ^ Сак, Хашим; Сениор, Эндрю; Бофе, Франсуаза (2014-02-05). «Рекуррентные архитектуры нейронных сетей на основе долговременной краткосрочной памяти для распознавания речи с большим словарным запасом». arXiv : 1402.1128 [cs.NE].
  25. ^ Нойдекер, Хайнц; Лю, Шуанчжэ; Поласек, Вольфганг (1995). «Произведение Адамара и некоторые его применения в статистике». Статистика . 26 (4): 365–373. doi :10.1080/02331889508802503.
  26. ^ Нойдекер, Хайнц; Лю, Шуанчжэ (2001). «Некоторые статистические свойства произведений Адамара случайных матриц». Статистические статьи . 42 (4): 475–487. doi :10.1007/s003620100074. S2CID  121385730.
  27. ^ abc Слюсарь, В.И. (13 марта 1998 г.). "Семейство гранных произведений матриц и его свойства" (PDF) . Кибернетика и системный анализ C/C журнала "Кибернетика и системный анализ". 1999 г. 35 (3): 379–384. doi :10.1007/BF02733426. S2CID  119661450.
  28. ^ Ха Д., Дай А. М., Ле К. В. (2017). «Гиперсети». Международная конференция по представлениям обучения (ICLR) 2017. – Тулон, 2017. : Страница 6. arXiv : 1609.09106 .{{cite journal}}: CS1 maint: multiple names: authors list (link)