Произведение адамара: Произведение Адамара — Википедия
Произведение Адамара — Википедия
Материал из Википедии — свободной энциклопедии
Произведение Адамара оперирует двумя матрицами одинаковой размерности и создаёт новую матрицу идентичной размерности.
В математике произведение Адамара[1] (также известное как произведение Шура[2], или покомпонентное произведение) — бинарная операция над двумя матрицами одинаковой размерности, результатом которой является матрица той же размерности, в которой каждый элемент с индексами i, j — это произведение элементов с индексами i, j исходных матриц. Операция названа в честь французского математика Жака Адамара и немецкого математика Исаия Шура.
Произведение Адамара является ассоциативной и дистрибутивной операцией и, в отличие от обычного произведения матриц, коммутативно.
Определение
Для двух матриц A,B{\displaystyle A,B} которые имеют одинаковую размерность m×n{\displaystyle m\times n} произведение Адамара обозначается как A∘B{\displaystyle A\circ B} и определено как покомпонентное произведение двух матриц:
- (A∘B)i,j=(A)i,j⋅(B)i,j{\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}}
Для двух матриц, которые имеют разные размерности, произведение Адамара не определено.
Пример
Пример использования произведения Адамара двух матриц A и B размерностью 2×3
- (a11a12a13a21a22a23)∘(b11b12b13b21b22b23)=(a11∗b11 a12∗b12a13∗b13a21∗b21a22∗b22a23∗b23){\displaystyle \left({\begin{array}{ccc}\mathrm {a} _{11}&\mathrm {a} _{12}&\mathrm {a} _{13}\\\mathrm {a} _{21}&\mathrm {a} _{22}&\mathrm {a} _{23}\\\end{array}}\right)\circ \left({\begin{array}{ccc}\mathrm {b} _{11}&\mathrm {b} _{12}&\mathrm {b} _{13}\\\mathrm {b} _{21}&\mathrm {b} _{22}&\mathrm {b} _{23}\\\end{array}}\right)=\left({\begin{array}{ccc}\mathrm {a} _{11}\,*\mathrm {b} _{11}\ &\mathrm {a} _{12}\,*\mathrm {b} _{12}&\mathrm {a} _{13}\,*\mathrm {b} _{13}\\\mathrm {a} _{21}\,*\mathrm {b} _{21}&\mathrm {a} _{22}\,*\mathrm {b} _{22}&\mathrm {a} _{23}\,*\mathrm {b} _{23}\\\end{array}}\right)}
Свойства
Произведение Адамара коммутативно, ассоциативно и дистрибутивно:
- A∘B=B∘A,{\displaystyle A\circ B=B\circ A,}
- A∘(B∘C)=(A∘B)∘C{\displaystyle A\circ (B\circ C)=(A\circ B)\circ C}
- A∘(B+C)=A∘B+A∘C.{\displaystyle A\circ (B+C)=A\circ B+A\circ C.}
Использование
Произведение Адамара используется в алгоритмах сжатия с потерями, например, JPEG.
В программных пакетах MATLAB и GNU Octave данная операция используется как стандартная операция умножения массивов и обозначается символом «.*».[3]
Операция произведения над векторными типами данных в GPGPU технологиях программирования также реализована по принципу произведения Адамара. Другие примитивные математические операции над векторными типами данных реализованы как покомпонентные операции над их компонентами.
Ссылки
Произведение Адамара — Википедия
Материал из Википедии — свободной энциклопедии
Произведение Адамара оперирует двумя матрицами одинаковой размерности и создаёт новую матрицу идентичной размерности.
В математике произведение Адамара[1] (также известное как произведение Шура[2], или покомпонентное произведение) — бинарная операция над двумя матрицами одинаковой размерности, результатом которой является матрица той же размерности, в которой каждый элемент с индексами i, j — это произведение элементов с индексами i, j исходных матриц. Операция названа в честь французского математика Жака Адамара и немецкого математика Исаия Шура.
Произведение Адамара является ассоциативной и дистрибутивной операцией и, в отличие от обычного произведения матриц, коммутативно.
Определение
Для двух матриц A,B{\displaystyle A,B} которые имеют одинаковую размерность m×n{\displaystyle m\times n} произведение Адамара обозначается как A∘B{\displaystyle A\circ B} и определено как покомпонентное произведение двух матриц:
- (A∘B)i,j=(A)i,j⋅(B)i,j{\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}}
Для двух матриц, которые имеют разные размерности, произведение Адамара не определено.
Пример
Пример использования произведения Адамара двух матриц A и B размерностью 2×3
- (a11a12a13a21a22a23)∘(b11b12b13b21b22b23)=(a11∗b11 a12∗b12a13∗b13a21∗b21a22∗b22a23∗b23){\displaystyle \left({\begin{array}{ccc}\mathrm {a} _{11}&\mathrm {a} _{12}&\mathrm {a} _{13}\\\mathrm {a} _{21}&\mathrm {a} _{22}&\mathrm {a} _{23}\\\end{array}}\right)\circ \left({\begin{array}{ccc}\mathrm {b} _{11}&\mathrm {b} _{12}&\mathrm {b} _{13}\\\mathrm {b} _{21}&\mathrm {b} _{22}&\mathrm {b} _{23}\\\end{array}}\right)=\left({\begin{array}{ccc}\mathrm {a} _{11}\,*\mathrm {b} _{11}\ &\mathrm {a} _{12}\,*\mathrm {b} _{12}&\mathrm {a} _{13}\,*\mathrm {b} _{13}\\\mathrm {a} _{21}\,*\mathrm {b} _{21}&\mathrm {a} _{22}\,*\mathrm {b} _{22}&\mathrm {a} _{23}\,*\mathrm {b} _{23}\\\end{array}}\right)}
Свойства
Произведение Адамара коммутативно, ассоциативно и дистрибутивно:
- A∘B=B∘A,{\displaystyle A\circ B=B\circ A,}
- A∘(B∘C)=(A∘B)∘C{\displaystyle A\circ (B\circ C)=(A\circ B)\circ C}
- A∘(B+C)=A∘B+A∘C.{\displaystyle A\circ (B+C)=A\circ B+A\circ C.}
Использование
Произведение Адамара используется в алгоритмах сжатия с потерями, например, JPEG.
В программных пакетах MATLAB и GNU Octave данная операция используется как стандартная операция умножения массивов и обозначается символом «.*».[3]
Операция произведения над векторными типами данных в GPGPU технологиях программирования также реализована по принципу произведения Адамара. Другие примитивные математические операции над векторными типами данных реализованы как покомпонентные операции над их компонентами.
Ссылки
Произведение Адамара — Википедия. Что такое Произведение Адамара
Материал из Википедии — свободной энциклопедии
Произведение Адамара оперирует двумя матрицами одинаковой размерности и создаёт новую матрицу идентичной размерности.
В математике произведение Адамара[1] (также известное как произведение Шура[2], или покомпонентное произведение) — бинарная операция над двумя матрицами одинаковой размерности, результатом которой является матрица той же размерности, в которой каждый элемент с индексами i, j — это произведение элементов с индексами i, j исходных матриц. Операция названа в честь французского математика Жака Адамара и немецкого математика Исаия Шура.
Произведение Адамара является ассоциативной и дистрибутивной операцией и, в отличие от обычного произведения матриц, коммутативно.
Определение
Для двух матриц A,B{\displaystyle A,B} которые имеют одинаковую размерность m×n{\displaystyle m\times n} произведение Адамара обозначается как A∘B{\displaystyle A\circ B} и определено как покомпонентное произведение двух матриц:
- (A∘B)i,j=(A)i,j⋅(B)i,j{\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}}
Для двух матриц, которые имеют разные размерности, произведение Адамара не определено.
Пример
Пример использования произведения Адамара двух матриц A и B размерностью 2×3
- (a11a12a13a21a22a23)∘(b11b12b13b21b22b23)=(a11∗b11 a12∗b12a13∗b13a21∗b21a22∗b22a23∗b23){\displaystyle \left({\begin{array}{ccc}\mathrm {a} _{11}&\mathrm {a} _{12}&\mathrm {a} _{13}\\\mathrm {a} _{21}&\mathrm {a} _{22}&\mathrm {a} _{23}\\\end{array}}\right)\circ \left({\begin{array}{ccc}\mathrm {b} _{11}&\mathrm {b} _{12}&\mathrm {b} _{13}\\\mathrm {b} _{21}&\mathrm {b} _{22}&\mathrm {b} _{23}\\\end{array}}\right)=\left({\begin{array}{ccc}\mathrm {a} _{11}\,*\mathrm {b} _{11}\ &\mathrm {a} _{12}\,*\mathrm {b} _{12}&\mathrm {a} _{13}\,*\mathrm {b} _{13}\\\mathrm {a} _{21}\,*\mathrm {b} _{21}&\mathrm {a} _{22}\,*\mathrm {b} _{22}&\mathrm {a} _{23}\,*\mathrm {b} _{23}\\\end{array}}\right)}
Свойства
Произведение Адамара коммутативно, ассоциативно и дистрибутивно:
- A∘B=B∘A,{\displaystyle A\circ B=B\circ A,}
- A∘(B∘C)=(A∘B)∘C{\displaystyle A\circ (B\circ C)=(A\circ B)\circ C}
- A∘(B+C)=A∘B+A∘C.{\displaystyle A\circ (B+C)=A\circ B+A\circ C.}
Использование
Произведение Адамара используется в алгоритмах сжатия с потерями, например, JPEG.
В программных пакетах MATLAB и GNU Octave данная операция используется как стандартная операция умножения массивов и обозначается символом «.*».[3]
Операция произведения над векторными типами данных в GPGPU технологиях программирования также реализована по принципу произведения Адамара. Другие примитивные математические операции над векторными типами данных реализованы как покомпонентные операции над их компонентами.
Ссылки
Произведение Адамара Википедия
Произведение Адамара оперирует двумя матрицами одинаковой размерности и создаёт новую матрицу идентичной размерности.
Произведение Адамара[1] (произведение Шура[2], покомпонентное произведение) — бинарная операция над двумя матрицами одинаковой размерности, результатом которой является матрица той же размерности, в которой каждый элемент с индексами i,j{\displaystyle i,j} — это произведение элементов с индексами i,j{\displaystyle i,j} исходных матриц. Операция названа в честь французского математика Жака Адамара и немецкого математика Исая Шура.
Определение и свойства
Для двух матриц A,B{\displaystyle A,B} одинаковой размерности m×n{\displaystyle m\times n} произведение Адамара определено как покомпонентное произведение двух матриц:
- (A∘B)i,j=(A)i,j⋅(B)i,j{\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}}
Для двух матриц, которые имеют разные размерности, произведение Адамара не определено.
Пример для матриц 3×3:
- [a11a12a13a21a22a23a31a32a33]∘[b11b12b13b21b22b23b31b32b33]=[a11b11a12b12a13b13a21b21a22b22a23b23a31b31a32b32a33b33]{\displaystyle {\begin{bmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{bmatrix}}\circ {\begin{bmatrix}b_{11}&b_{12}&b_{13}\\b_{21}&b_{22}&b_{23}\\b_{31}&b_{32}&b_{33}\end{bmatrix}}={\begin{bmatrix}a_{11}\,b_{11}&a_{12}\,b_{12}&a_{13}\,b_{13}\\a_{21}\,b_{21}&a_{22}\,b_{22}&a_{23}\,b_{23}\\a_{31}\,b_{31}&a_{32}\,b_{32}&a_{33}\,b_{33}\end{bmatrix}}}.
Является ассоциативной и дистрибутивной операцией и, в отличие от обычного произведения матриц, коммутативно:
- A∘B=B∘A{\displaystyle A\circ B=B\circ A},
- A∘(B∘C)=(A∘B)∘C{\displaystyle A\circ (B\circ C)=(A\circ B)\circ C},
- A∘(B+C)=A∘B+A∘C{\displaystyle A\circ (B+C)=A\circ B+A\circ C}.
Свойства смешанных произведений с другими вариантами умножения матриц:
- (A⊗B)∘(C⊗D)=(A∘C)⊗(B∘D){\displaystyle (A\otimes B)\circ (C\otimes D)=(A\circ C)\otimes (B\circ D)}, где ⊗{\displaystyle \otimes } — произведение Кронекера;
- (A∙B)∘(C∙D)=(A∘C)∙(B∘D){\displaystyle (A\bullet B)\circ (C\bullet D)=(A\circ C)\bullet (B\circ D)}, где ∙{\displaystyle \bullet } — торцевое произведение[3];
- (A∙B)(C∗D)=(AC)∘(BD){\displaystyle (A\bullet B)(C\ast D)=(AC)\circ (BD)}, где ∗{\displaystyle \ast } — столбцовое произведение Хатри — Рао.
Приложения
Используется в алгоритмах сжатия с потерями, например, JPEG.
В программных пакетах MATLAB и GNU Octave операция используется как стандартная операция умножения массивов и обозначается символом «.*»[4].
Операция произведения над векторными типами данных в GPGPU-технологиях программирования также реализована по принципу произведения Адамара. Другие примитивные математические операции над векторными типами данных реализованы как покомпонентные операции над их компонентами.
Блочная версия
Варианты проникающего торцевого произведения
Проникающее торцевое произведение
Данный тип матричной операции базируется на произведении Адамара и позволяет поэлементно умножать p×g{\displaystyle p\times g} матрицу A{\displaystyle \mathbf {A} } на произвольное количество блоков той же размерности p×g{\displaystyle p\times g}, образующих блочную матрицу строк или столбцов B{\displaystyle \mathbf {B} }[5]:
- A[∘]B=[A∘B1A∘B2A∘B3]{\displaystyle \mathbf {A} [\circ ]\mathbf {B} =\left[{\begin{array}{c | c | c }\mathbf {A} \circ \mathbf {B} _{1}&\mathbf {A} \circ \mathbf {B} _{2}&\mathbf {A} \circ \mathbf {B} _{3}\end{array}}\right]}.
Например, для
- A=[123456789],B=[B1B2B3]=[147281431221820510254012306283242739]{\displaystyle \mathbf {A} =\left[{\begin{array}{c}1&2&3\\4&5&6\\7&8&9\end{array}}\right],\quad \mathbf {B} =\left[{\begin{array}{c | c | c }\mathbf {B} _{1}&\mathbf {B} _{2}&\mathbf {B} _{3}\end{array}}\right]=\left[{\begin{array}{c c c | c c c | c c c }1&4&7&2&8&14&3&12&21\\8&20&5&10&25&40&12&30&6\\2&8&3&2&4&2&7&3&9\end{array}}\right]}
получим:
- A[∘]B=[182121642324633210030401252404815036146427143218492481]{\displaystyle \mathbf {A} [\circ ]\mathbf {B} =\left[{\begin{array}{c c c | c c c | c c c }1&8&21&2&16&42&3&24&63\\32&100&30&40&125&240&48&150&36\\14&64&27&14&32&18&49&24&81\end{array}}\right]}.
Основные свойства:
- A[∘]B=B[∘]A{\displaystyle \mathbf {A} [\circ ]\mathbf {B} =\mathbf {B} [\circ ]\mathbf {A} };
- M∙M=M[∘](M⊗1T){\displaystyle \mathbf {M} \bullet \mathbf {M} =\mathbf {M} [\circ ](\mathbf {M} \otimes \mathbf {1} ^{\textsf {T}})},
где ∙{\displaystyle \bullet } — символ торцевого произведения матриц.
- c∙M=c[∘]M{\displaystyle \mathbf {c} \bullet \mathbf {M} =\mathbf {c} [\circ ]\mathbf {M} }, где c{\displaystyle \mathbf {c} } — вектор.
Данный вид матричного умножения был предложен в 1999 г. Слюсарем В.И. для описания откликов цифровой антенной решётки с неидентичными приёмными каналами[5]. Кроме того, это произведение позволяет формализовать процесс функционирования свёрточной нейросети. Например, если рассматривать указанную матрицу A{\displaystyle \mathbf {A} } как массив пикселей изображения на входе нейросетевого алгоритма, то блоки матрицы B{\displaystyle \mathbf {B} } будут соответствовать различным наборам коэффициентов, используемым для формирования свёрточного слоя в нескольких параллельных каналах обработки изображения нейросетью.
Примечания
Литература
- Хорн Р. Матричный анализ: Пер. с англ. / Р. Хорн, Ч. Джонсон. – М.: Мир, 1989.– 655 с.
Произведение Адамара — Википедия. Что такое Произведение Адамара
Материал из Википедии — свободной энциклопедии
Произведение Адамара оперирует двумя матрицами одинаковой размерности и создаёт новую матрицу идентичной размерности.
В математике произведение Адамара[1] (также известное как произведение Шура[2], или покомпонентное произведение) — бинарная операция над двумя матрицами одинаковой размерности, результатом которой является матрица той же размерности, в которой каждый элемент с индексами i, j — это произведение элементов с индексами i, j исходных матриц. Операция названа в честь французского математика Жака Адамара и немецкого математика Исаия Шура.
Произведение Адамара является ассоциативной и дистрибутивной операцией и, в отличие от обычного произведения матриц, коммутативно.
Определение
Для двух матриц A,B{\displaystyle A,B} которые имеют одинаковую размерность m×n{\displaystyle m\times n} произведение Адамара обозначается как A∘B{\displaystyle A\circ B} и определено как покомпонентное произведение двух матриц:
- (A∘B)i,j=(A)i,j⋅(B)i,j{\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}}
Для двух матриц, которые имеют разные размерности, произведение Адамара не определено.
Пример
Пример использования произведения Адамара двух матриц A и B размерностью 2×3
- (a11a12a13a21a22a23)∘(b11b12b13b21b22b23)=(a11∗b11 a12∗b12a13∗b13a21∗b21a22∗b22a23∗b23){\displaystyle \left({\begin{array}{ccc}\mathrm {a} _{11}&\mathrm {a} _{12}&\mathrm {a} _{13}\\\mathrm {a} _{21}&\mathrm {a} _{22}&\mathrm {a} _{23}\\\end{array}}\right)\circ \left({\begin{array}{ccc}\mathrm {b} _{11}&\mathrm {b} _{12}&\mathrm {b} _{13}\\\mathrm {b} _{21}&\mathrm {b} _{22}&\mathrm {b} _{23}\\\end{array}}\right)=\left({\begin{array}{ccc}\mathrm {a} _{11}\,*\mathrm {b} _{11}\ &\mathrm {a} _{12}\,*\mathrm {b} _{12}&\mathrm {a} _{13}\,*\mathrm {b} _{13}\\\mathrm {a} _{21}\,*\mathrm {b} _{21}&\mathrm {a} _{22}\,*\mathrm {b} _{22}&\mathrm {a} _{23}\,*\mathrm {b} _{23}\\\end{array}}\right)}
Свойства
Произведение Адамара коммутативно, ассоциативно и дистрибутивно:
- A∘B=B∘A,{\displaystyle A\circ B=B\circ A,}
- A∘(B∘C)=(A∘B)∘C{\displaystyle A\circ (B\circ C)=(A\circ B)\circ C}
- A∘(B+C)=A∘B+A∘C.{\displaystyle A\circ (B+C)=A\circ B+A\circ C.}
Использование
Произведение Адамара используется в алгоритмах сжатия с потерями, например, JPEG.
В программных пакетах MATLAB и GNU Octave данная операция используется как стандартная операция умножения массивов и обозначается символом «.*».[3]
Операция произведения над векторными типами данных в GPGPU технологиях программирования также реализована по принципу произведения Адамара. Другие примитивные математические операции над векторными типами данных реализованы как покомпонентные операции над их компонентами.
Ссылки
GFDM и тензоры. Продолжение / Habr
Сначала я хотел не углубляться в тензоры и описать их мимоходом, касаясь только используемого мной функционала. Однако я изменил свое мнение и решил рассказать больше. Добро пожаловать в многомерный мир.
Часть 1 здесь
Список сокращений
CP — CANDECOMP/PARAFAC
CANDECOMP — Canonical decomposition
PARAFAC — parallel Factors
PARATCUK2 — PARAFAC/Tucker2
ALS — Alternating least squares
ПМНК — перемежающийся метод наименьших квадратов
SVD — Singular value decomposition
СЛАУ — Система линейных алгебраических уравнений
GFDM — generalized frequency division multiplexing
SECSI — SEmi-algebraic framework for approximat eCP decompositions via SImultaneous Matrix Diagonalizations
Используемые обозначения
Тензоры
Пожалуй наилучшим определением тензора будет цитата Tamara G. Kolda:
A tensor is a multidimensional array
Проще некуда. Идеи с тензорами возникли изначально в линейной алгебре. Поэтому лучший путь — описать все используя линейную алгебру. В линейной алгебре мы пользуемся скалярами, векторами, матрицами и можем совершать операции сложения, вычитания и умножения. Скаляр состоит из 1 элемента, вектор состоит из N элементов и матрица состоит из MN элементов. Тензоры включают в себя все что может линейная алгебра и даже немного больше. Приводя примеры из линейной алгебры: вектор — это тензор первого порядка, а матрица — это тензор второго порядка. Следовательно порядок тензора определяется количеством пространств в которых тензор имеет больше чем один элемент. Чем больше у Вас пространств, тем выше получается порядок тензора. Достаточно просто, верно?
Давайте сразу приведем пример тензора третьего порядка. Знакомьтесь, с этим тензором Вы сегодня будете работать и на нем увидите немного тензорной магии. Я выписал его фронтальные срезы ниже.
Линейная алгебра определяет нам произведение между двумя матрицами следующим образом:
В этом произведении задано две размерности и операция между объектами с размерностью больше двух не определена. Тензорная алгебра дает инструменты как обойти это ограничение, используя особенности большего количества пространств в линейной алгебре. Для начала я введу три матричные операции, без которых в тензорной алгебре и шагу не ступишь:
Произведение КронекераИтак в произведении Кронекера (или как его еще называют, тензорное произведение) участвуют две матрицы, результатом их произведения будет блочная матрица, каждый блок которой это вторая матрица умноженная на определенный элемент первой матрицы.
Эта операця используется для формирования упрощенной модели канала в МИМО.
произведение Хатри-Рао Произведение Хатри-Рао обозначается следующим символом и является произведением Кронекера для всех соответствующих столбцов. Иными словами каждый i-ый столбец из матрицы А умножается на i-ый столбец матрицы B и результат является i-ым столбцом результирующей матрицы.
Эта операция чаще всего используется в тензорах третьего порядка, к примеру именно через нее я описал матрицу модуляции системы GFDM
Произведение АдамараПроизведение Адамара простое из всех, это поэлементное произведение всех позиций в матрицах А и Б.
Основные операции в тензорной алгебре
Развертка
В тензорной алгебре одно из ключевых понятий — «unfolding» (Я буду называть его развертка для уменьшения англицизмов) или представление тензора через матрицу. Развертка это отображение тензора на одно из его пространств. Тензор при этой операции записывается как матрица, количество строк которой равно количеству элементов развертываемого пространства. Элементы в строке имеют тот же порядковый номер по заданному пространству.Особенность
Существует два вида записи элементов в строку: по нотации Латауэра и по нотации Матлаб. Чаще всего используется нотация Матлаб, поэтому я буду использовать ее. По нотации Матлаб, элементы идут по возрастанию в размерности, т.е. сперва идет элемент по первой размерности, затем по второй и так далее исключая развертываемую размерность.
Количество возможных разверток равно порядку тензора или его размерности. У тензора из нашего примера есть 3 развертки. Выше представлены развертки для нашего тензора, и я надеюсь по ним Вам будет значительно проще понять, чем по объяснениям. Тензоры показались мне гораздо понятнее в интуитивном смысле, нежели чем по определениям.
Произведение по заданному пространству
Следующая операция которую я хочу описать, это произведение тензора с матрицей по заданному пространству. Записывается оно следующим образом и в сущности это произведение двух матриц, где правая матрица — это развертка тензора по умножаемому пространству, а слева матрица с которой собственно и умножают.
Важный момент, умножение записывается справа, а происходит слева от тензора. В результате получается матрица являющаяся разверткой нового тензора, который можно собрать обратно в привычный тензор. Важно отметить, что в результате этой операции размерность пространства с которым происходит умножение может измениться, остальные не могут. Пример ниже
Тензор единичного ранга
Тензор единичного ранга — это такой тензор размерности N, который можно получить если умножить единицу на N векторов, по одному на каждое пространство. Как это выглядит визуально для тензора третьего порядка я показал ниже. Тензор единичного ранга является аналогом одной компоненты для SVD матрицы, где сложная матрица раскладывается на матрицы единичного ранга. Тензор единичного ранга может быть как комплексным так и вещественным, в зависимости от требований которые мы к нему предъявляем.
Разложение тензоров
Самое важное и интересное в тензорах это их разложения. Я надеюсь многие из Вас знают или слышали о разложении матрицы на сингулярные значения. При помощи него мы можем представить матрицу как сумму матриц единичного ранга, и оценить их вклад в общую матрицу. Чуть ниже представлен пример такого разложения.
Очень похожий аналог есть в тензорной алгебре и называется он «CP», его называют еще «CANDECOMP» или «PARAFAC». «CP» раскладывает любой тензор на сумму тензоров единичного ранга. У этой формулировки есть две формы записи, простая из которых действительно записывает тензор как сумму множества тензоров единичного ранга, другая же записывает разложение через матрицы по каждому из пространств. Кроме разложения «CP» в тензорной алгебре существует большое количество его аналогов, в зависимости от нормирования компонент и прочих особенностей.
Посмотрите, если записать вектора каждого из пространств одно за другим, будет получено N матриц. Каждая из матриц представляет некий «базис» по своему пространству. Такая форма записи напоминает SVD матрицы. Из этих матриц можно получить обратно тензор, если взять единичный тензор и попеременно умножить его на все матрицы-базисы по пространствам.
Из разложения тензора третьего порядка легко вывести выражение развертки, оно позволит отделить одну из матриц обычным матричным произведением. Посмотрите ниже, видите, матрица А записывается через произведение с другой матрицей, которая в свою очередь является продуктом произведения Хатри-Рао. Зная продукт произведения и исходную развертку, мы можем вычислить матрицу А используя линейную алгебру. Это значительно упрощает работу алгоритмов подсчета разложения для тензоров третьего порядка и дает удобные формулы для итераций.
Зачем вообще нужна эта ерунда, мы же могли сделать SVD развертки? Конечно могли, но в общем случае разложение тензора позволяет гораздо проще описать данные, их становится проще сжать или найти закономерности. Особенно это важно для больших объемов данных, так как с увеличением размерностей ранг изменяется значительно слабее.
Проблемы разложения
У этого разложения при всей его прелести есть две проблемы. Первая: ранг этого разложения нужно узнать Вам самим. Зачастую это нетривиальная задача, особенно если данные имеют шум.Пример из моего опытаПо оси ординат представлена нормированная ошибка восстановления а по оси абсцисс использованный ранг разложения. Я раскладывал тензор только с суммой сигнала и шума и только шумом. Предположение о ранге пришлось делать только по необычному поведению ошибки разложения. Внимание, легенда перепутана.
Алгоритм был по поиску GPS сигнала при вычислении корреляции полифазным преобразованием Фурье. При этом размерность выходных данных на корреляторе была равна четырем (время, частота, код, сдвиг полифазного преобразования).
Вторая проблема — вычисление самого разложения. Самый распространенный на данный момент алгоритм это ALS или ПМНК. Существует так же алгоритм с романтичным названием SECSI, но про него я возможно расскажу в будущем. ПМНК или перемежающийся метод наименьших квадратов прост до безобразия, алгоритм у него следующий:
- Задаем ранг разложения
- Генерируем случайные матрицы разложения пространств
- Фиксируем все матрицы кроме одной и вычисляем оставшуюся матрицу при помощи СЛАУ
- Повторяем по очереди предыдущий пункт для всех матриц, пока невязка не станет приемлемой
Недостатков у этого метода огромное множество, это и локальные минимумы, и вычислительная сложность, но он все равно остается одним из наиболее используемых алгоритмов в настоящее время.
Связь с GFDM
А теперь перейдем ближе к технологии GFDM. Существует другое разложение, которое называется PARATUCK2, и это аббревиатура от двух других аббревиатур «PARAFAC» и «TUCKER2». Да, аббревиатура состоящая из двух других аббревиатур, как же это замечательно.
Это разложение записывает тензор через три матрицы и два тензора. Матрица посередине называется ядром разложения, тензоры называются объединяющими. Крайние две матрицы не имеют особого названия. То как считать тензор из этого разложения это отдельная история.
Тензор из разложения считается послойно, в каждом слою выбирается только соответствующий слой тензоров взаимосвязи. В результате получаются 5 матриц, перемножив которые мы и получаем значения тензора. Эта операция повторяется по каждому из слоев, и результаты собираются один за другим. Количество строк первой матрицы равно количеству строк у тензора, аналогично со столбцами третьей матрицы и тензора, а так же с глубиной тензоров взаимосвязи. Мне было это очень сложно понять в первый момент. И что самое интересное, эта модель действительно может Вам помочь при анализе данных.
Так зачем нам нужно это разложение? Оно достаточно сложное и состоит из пяти элементов, как оно вообще может помочь с GFDM? Давайте сначала вспомним и закрепим немного о GFDM. Ниже представлен метод формирования символов, который отправляет передатчик. Блок данных можно сформировать как матрицу, где строки это поднесущие, а столбцы это временные позиции в блоке. Общий блок данных получается суммированием всех элементов, иначе говоря надо умножить поэлементно вектор поднесущей с вектором оконной функции и все это на символ который мы передаем. Таким образом каждый символ находится на пересечении двух векторов с которыми и перемножается. Операция достаточно простая, однако ее сложно описать через произведение матрицы модуляции на вектор символов. Форма записи же через матрицу модуляции является основным кирпичиком для построения приемников.
Если присмотреться повнимательнее, PARATUCK2 действительно может описать GFDM. Для этого необходимо взять в качестве крайних матриц единичные вектор строку и вектор столбец, а в тензоры взаимосвязи по главном диагоналям добавить оконные функции и поднесущие. Если в матрице-ядре окажутся символы, результат будет вектором в третьем измерении и соответствовать переданным данным.
Пример из опыта
Изначально я дополнительно предполагал описать частотозависимый канал канал через значения в векторе рядом с тензором поднесущих. Это было ошибочное предположение
Лихо завернуто, неправда ли? Когда я писал диплом, было сложно понять, как это можно упростить и привести к приемлемому виду, но это возможно! Через это разложение можно упростить выражение модуляционной матрицы в произведение двух матриц. Однако я думаю рассказать в следующий раз, вместе с теорией Zero-forcing, Matched filter и Minimal mean squared error приемников.
Использованная литература
T. G. Kolda and B. W. Bader, \Tensor decompositions and applications,» SIAM Review,
vol. 51, no. 3, pp. 455{500, 2009.
R. Bro, N. Sidiropoulos, and G. Giannakis, \Parafac: Tutorial and applications,»
Chemometrics Group, Food Technology, Royal Veterinary Agricultural University, 1997.
L. de Lathauwer, B. de Moor, and J. Vanderwalle, \A multilinear singular value decom-
position,» SIAM J. MATRIX ANAL. APPL. Vol. 21, No. 4, pp. 1253 1278, 2000.
K. B. Petersen and M. S. Pedersen, The Matrix Cookbook. Petersen & Pedersen,, 2012.
S. LIU and G. TRENKLER, \Hadamard, khatri-rao, kronecker and other matrix
products,» INTERNATIONAL JOURNAL OF INFORMATION AND SYSTEMS SCI-
ENCES, 2006.
A. L. F. de Almeida, G. Favier, and L. R. Ximenes, \Space-time-frequency (stf) mimo
communication systems with blind receiver based on a generalized paratuck2 model,»
IEEE Transaction in signal processing, vol. 61, no. 8,, APR, 2013.
Хорошей Вам недели.
Произведение Адамара — Википедия. Что такое Произведение Адамара
Материал из Википедии — свободной энциклопедии
Произведение Адамара оперирует двумя матрицами одинаковой размерности и создаёт новую матрицу идентичной размерности.
В математике произведение Адамара[1] (также известное как произведение Шура[2], или покомпонентное произведение) — бинарная операция над двумя матрицами одинаковой размерности, результатом которой является матрица той же размерности, в которой каждый элемент с индексами i, j — это произведение элементов с индексами i, j исходных матриц. Операция названа в честь французского математика Жака Адамара и немецкого математика Исаия Шура.
Произведение Адамара является ассоциативной и дистрибутивной операцией и, в отличие от обычного произведения матриц, коммутативно.
Определение
Для двух матриц A,B{\displaystyle A,B} которые имеют одинаковую размерность m×n{\displaystyle m\times n} произведение Адамара обозначается как A∘B{\displaystyle A\circ B} и определено как покомпонентное произведение двух матриц:
- (A∘B)i,j=(A)i,j⋅(B)i,j{\displaystyle (A\circ B)_{i,j}=(A)_{i,j}\cdot (B)_{i,j}}
Для двух матриц, которые имеют разные размерности, произведение Адамара не определено.
Пример
Пример использования произведения Адамара двух матриц A и B размерностью 2×3
- (a11a12a13a21a22a23)∘(b11b12b13b21b22b23)=(a11∗b11 a12∗b12a13∗b13a21∗b21a22∗b22a23∗b23){\displaystyle \left({\begin{array}{ccc}\mathrm {a} _{11}&\mathrm {a} _{12}&\mathrm {a} _{13}\\\mathrm {a} _{21}&\mathrm {a} _{22}&\mathrm {a} _{23}\\\end{array}}\right)\circ \left({\begin{array}{ccc}\mathrm {b} _{11}&\mathrm {b} _{12}&\mathrm {b} _{13}\\\mathrm {b} _{21}&\mathrm {b} _{22}&\mathrm {b} _{23}\\\end{array}}\right)=\left({\begin{array}{ccc}\mathrm {a} _{11}\,*\mathrm {b} _{11}\ &\mathrm {a} _{12}\,*\mathrm {b} _{12}&\mathrm {a} _{13}\,*\mathrm {b} _{13}\\\mathrm {a} _{21}\,*\mathrm {b} _{21}&\mathrm {a} _{22}\,*\mathrm {b} _{22}&\mathrm {a} _{23}\,*\mathrm {b} _{23}\\\end{array}}\right)}
Свойства
Произведение Адамара коммутативно, ассоциативно и дистрибутивно:
- A∘B=B∘A,{\displaystyle A\circ B=B\circ A,}
- A∘(B∘C)=(A∘B)∘C{\displaystyle A\circ (B\circ C)=(A\circ B)\circ C}
- A∘(B+C)=A∘B+A∘C.{\displaystyle A\circ (B+C)=A\circ B+A\circ C.}
Использование
Произведение Адамара используется в алгоритмах сжатия с потерями, например, JPEG.
В программных пакетах MATLAB и GNU Octave данная операция используется как стандартная операция умножения массивов и обозначается символом «.*».[3]
Операция произведения над векторными типами данных в GPGPU технологиях программирования также реализована по принципу произведения Адамара. Другие примитивные математические операции над векторными типами данных реализованы как покомпонентные операции над их компонентами.
Ссылки
Жак-Саломон Адамар | Французский математик
Жак-Саломон Адамар (родился 8 декабря 1865 года, Версаль, Франция — умер 17 октября 1963 года, Париж), французский математик, который доказал теорему о простых числах, которая гласит, что при n приближается к бесконечности, π ( n ) приближается к n / ln n , где π ( n ) — количество положительных простых чисел, не превышающих n .
Семья Адамар переехала в Париж в 1869 году, незадолго до начала франко-германской войны.В 1884 году Адамар занял первое место на вступительных экзаменах как в Политехническую школу, так и в Высшую нормальную школу. Он решил изучать математику в École Normale Supérieure, получив степень бакалавра в 1888 году и докторскую степень в 1892 году. Последний год был особенно значимым для Адамара: он был удостоен Гран-при математических наук за свою работу «Определение количества математических наук». Штрих меньше заданного числа », и он женился на своей возлюбленной детства. В следующем году он был назначен преподавателем в Университете Бордо; в 1896 году он стал там профессором астрономии и рациональной механики.
Вернувшись в Париж в 1897 году, Адамар обнаружил, что были подделаны различные документы, чтобы обвинить офицера еврейской армии Альфреда Дрейфуса в измене. Адамар стал ведущим крестоносцем, чтобы возобновить дело против Дрейфуса, который оказался родственником его жены. В конце концов, Дрейфуса судили повторно, снова признали виновным и помиловали. Адамар не согласился с этим и был среди тех, кто продолжал оказывать давление на правительство, чтобы очистить имя Дрейфуса — результат, наконец, достигнутый в 1906 году. Адамар работал профессором в Коллеж де Франс (1897–1935), Политехнической школе (1912–35). ) и École Centrale des Arts et Manufactures (1920–35), все в Париже.
Адамар и его семья бежали от нацистов и провели Вторую мировую войну в США и Великобритании, где он работал над радаром. В 1945 году он опубликовал свои размышления и исследования математического разума под названием Психология изобретений в математической области . Эта богато информативная книга выдержала несколько изданий. Адамар вернулся во Францию, как только война закончилась. Потеряв двух своих старших сыновей во время Первой мировой войны и еще одного во время Второй мировой войны, он стал активным участником международных движений за мир.
Получите эксклюзивный доступ к контенту нашего 1768 First Edition с подпиской.
Подпишитесь сегодня
Ранняя работа Адамара содержала много важных вкладов в теорию функций комплексного переменного, в частности, в общую теорию интегральных функций и теорию особенностей функций (точек, в которых функция либо не определена, либо не дифференцируема) представлен рядом Тейлора ( см. анализ : производные высшего порядка). В 1896 году Адамар доказал теорему о простых числах независимо от бельгийского математика Шарля-Жана де ла Валле Пуссена.Он также получил важные результаты в связи с уравнениями в частных производных математической физики.
« Уроки расчета вариаций » Адамара (1910; «Уроки вариационного исчисления») помогли заложить основы современной теории функционального анализа, в связи с чем он ввел термин функциональный . Часть его работ по определителям важна в теории интегральных уравнений.
.
Продукт Адамара | Что нового
Мы с Апурвой Кхаре только что загрузили в arXiv нашу статью «О знаковых паттернах входных сохранителей положительности в фиксированной размерности». В этой статье исследуется связь между положительной определенностью эрмитовых матриц и поэтапными операциями над этими матрицами. Отправной точкой для этой теории является теорема Шура о произведении, которая утверждает, что если и — две эрмитовы матрицы, которые являются положительно полуопределенными, то их произведение Адамара
также является положительным полуопределенным.(Следует предупредить, что произведение Адамара равно , а не , как обычное матричное произведение.) Чтобы доказать эту теорему, сначала заметьте, что утверждение легко, когда и являются положительными полуопределенными матрицами первого ранга, поскольку в этом случае также положительная полуопределенная матрица ранга один. Общий случай вытекает из спектральной теоремы, что общая положительная полуопределенная матрица может быть выражена как неотрицательная линейная комбинация положительных полуопределенных матриц ранга один, а также с использованием билинейности произведения Адамара и того факта, что множество положительных полуопределенных матриц образуют выпуклый конус.Модификация этого аргумента также позволяет заменить «положительно полуопределенный» на «положительно определенный» в формулировке теоремы Шура о произведении.
Одно из следствий теоремы Шура о произведении состоит в том, что любой многочлен с неотрицательными коэффициентами равен по элементам положительности, сохраняя на пространстве положительных полуопределенных эрмитовых матриц в том смысле, что для любой матрицы из элементное приложение
of to также является положительным полуопределенным.(Как и раньше, следует предупредить, что это , а не , применяемое обычным функциональным исчислением.) Действительно, можно расширить
.
, где — произведение Адамара копий, и теперь утверждение следует из теоремы Шура о произведении и того факта, что конус является выпуклым.
Небольшой вариант этого аргумента, уже наблюдавшийся Полиа и Сегё в 1925 году, показывает, что если есть любое подмножество и
— степенной ряд с неотрицательными коэффициентами, который сходится абсолютно и равномерно на, тогда будет сохраняться постатейная положительность на множестве положительно определенных матриц с элементами в.(В случае формы такие функции являются в точности абсолютно монотонными функциями на.)
В работах Шенберга и Рудина мы имеем обратное: если — функция, которая сохраняет поэлементную положительность для всех, то она должна иметь вид (1) с. Варианты этого результата, замененные другими областями, появляются в работах Хорна, Васудевы и Гийо-Кхаре-Раджаратнама.
Это дает удовлетворительную классификацию функций, которые являются посторонними сохранителями положительности одновременно во всех измерениях.Однако остается вопрос, что произойдет, если зафиксировать размерность, и в этом случае можно получить больший класс посторонних сохранителей положительности. Например, в тривиальном случае функция будет сохранять поэлементную положительность на тогда и только тогда, когда неотрицательна на. Для более высокого уровня существует необходимое условие Хорна (слегка уточненное Гийо-Кхар-Раджаратнамом), которое утверждает (по крайней мере, в случае гладкого), что все производные от нуля до порядка должны быть неотрицательными, чтобы быть начальная положительность сохраняется для некоторых.В частности, если имеет вид (1), то должно быть неотрицательным. Фактически, можно сделать более сильное утверждение, а именно, что первые ненулевые коэффициенты в (1) (если они существуют) должны быть положительными, или, что то же самое, любому отрицательному члену в (1) должно предшествовать (хотя и не обязательно сразу) хотя бы положительные термины. Если имеет вид (1) — входная положительность сохраняется на большем множестве, можно, кроме того, показать, что любой отрицательный член в (1) также должен иметь значение , за которым следует (хотя и не обязательно сразу) по крайней мере положительными членами.
Главный результат этой статьи состоит в том, что эти знаковые условия — это — только ограничений для поэтапных степенных рядов, сохраняющих положительность. Точнее:
Теорема 1 Для каждого пусть будет знак.
Можно задать тот же вопрос или заменить его другими областями, такими как, или комплексный диск, но оказывается, что в этих случаях гораздо меньше функций, сохраняющих положительность по входам, в основном из-за нетривиальных нулей полиномов Шура в этих диапазонах ; см. документ для дальнейшего обсуждения.У нас также есть некоторые количественные ограничения на то, насколько отрицательные некоторые коэффициенты могут сравниваться с положительными коэффициентами, но они являются немного техническими, чтобы указать здесь.
В основе доказательства этих результатов лежит анализ определителей многочленов, применяемых поэтапно для ранжирования матриц единица; положительность этих определителей может быть использована (вместе с аргументом непрерывности) для установления положительной определенности для различных диапазонов значений и. Используя формулу Коши-Бине, такие детерминанты можно переписать как линейные комбинации квадратов величин обобщенных определителей Вандермонда
где и знаки коэффициентов в линейной комбинации определяются знаками коэффициентов.Затем задача состоит в том, чтобы найти верхнюю и нижнюю границы для величин таких обобщенных определителей Вандермонда. Знаки этих детерминантов меняются, что делает задачу сложной; однако вмешивается алгебраическое чудо, а именно факторизация
обобщенного определителя Вандермонда в обыкновенный определитель Вандермонда
и полином Шура, примененный к, где вес полинома Шура определяется простым способом.Затем проблема сводится к получению оценок сверху и снизу для этих многочленов Шура. Поскольку мы ограничиваем внимание к матрицам, принимающим значения в или, записи могут считаться неотрицательными. Затем можно воспользоваться преимуществом полной положительности многочленов Шура, чтобы сравнить эти многочлены с одночленом, и в этот момент можно получить хорошие критерии для положительно определенной матрицы, если матрица положительно определенная ранга один.
Если мы позволим показателям быть действительными числами, а не целыми (таким образом заменив многочлены или степенные ряды рядами Пюзье или Гана), то мы потеряем вышеуказанное алгебраическое чудо, но мы можем заменить его геометрическим чудом, а именно Хариш Идентификатор Чандра-Ициксон-Зубер , который я обсуждал в предыдущем сообщении блога.Это факторизует вышеупомянутый обобщенный определитель Вандермонда как произведение обычного определителя Вандермонда и интеграла от положительной величины по ортогональной группе, которую можно снова сравнить с мономом после некоторых довольно элементарных оценок.
Остается понять, что происходит с более общими положительными полуопределенными матрицами. Здесь мы используем уловку Фитцджеральда и Хорна, чтобы расширить случай ранга один до общего случая, выразив общую положительно полуопределенную матрицу как линейную комбинацию матрицы ранга один и другой положительно полуопределенной матрицы, которая обращается в нуль на последнем. строка и столбец (и таким образом фактически является положительно определенной матрицей).Используя фундаментальную теорему исчисления для непрерывного деформирования матрицы ранга один в направлении, можно затем получить положительные результаты для из положительных результатов для в сочетании с гипотезой индукции для.
.