В полилинейная алгебра, применяя карту, которая является тензорное произведение линейных отображений к тензор называется мультилинейное умножение.
Абстрактное определение
Позволять
поле нулевой характеристики, например
или
.Позволять
- конечномерное векторное пространство над
, и разреши
быть на порядок простой тензор, т.е. существуют векторы
такой, что
. Если нам дан набор линейных карт
, то мультилинейное умножение из
с
определено[1] как действие на
из тензорное произведение этих линейных отображений,[2] а именно

Поскольку тензорное произведение линейных карт сама по себе является линейной картой,[2] и поскольку каждый тензор допускает разложение тензорного ранга,[1] вышеприведенное выражение линейно распространяется на все тензоры. То есть для общего тензора
, мультилинейное умножение
![{ displaystyle { begin {align} & { mathcal {B}}: = (A_ {1} otimes A_ {2} otimes cdots otimes A_ {d}) ({ mathcal {A}}) [4pt] = {} & (A_ {1} otimes A_ {2} otimes cdots otimes A_ {d}) left ( sum _ {i = 1} ^ {r} mathbf {a } _ {i} ^ {1} otimes mathbf {a} _ {i} ^ {2} otimes cdots otimes mathbf {a} _ {i} ^ {d} right) [5pt ] = {} & sum _ {i = 1} ^ {r} A_ {1} ( mathbf {a} _ {i} ^ {1}) otimes A_ {2} ( mathbf {a} _ { i} ^ {2}) otimes cdots otimes A_ {d} ( mathbf {a} _ {i} ^ {d}) end {выравнивается}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/578131c96c802126b32a930136da435d8de2f7a3)
куда
с
один из
разложения тензорного ранга. Справедливость приведенного выше выражения не ограничивается разложением тензорного ранга; фактически, это справедливо для любого выражения
как линейная комбинация чистых тензоров, что следует из универсальное свойство тензорного произведения.
В литературе обычно используются следующие сокращенные обозначения для полилинейных умножений:

и

куда

это
оператор идентификации.
Определение в координатах
В вычислительной полилинейной алгебре принято работать в координатах. Предположим, что внутренний продукт закреплен на
и разреши
обозначить двойное векторное пространство из
. Позволять
быть основой для
, позволять
- дуальный базис, и пусть
быть основой для
. Линейная карта
тогда представляется матрицей
. Аналогично, относительно базиса стандартного тензорного произведения
, абстрактный тензор

представлен многомерным массивом
![{ displaystyle { widehat { mathcal {A}}} = [a_ {j_ {1}, j_ {2}, ldots, j_ {d}}] in F ^ {n_ {1} times n_ { 2} times cdots times n_ {d}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/7a39d34160d0f6db294f09c923100419af8a14df)
. Заметьте, что

куда
это jстандартный базисный вектор
а тензорное произведение векторов - аффинное Карта Сегре
. Из вышеприведенного выбора базисов следует, что полилинейное умножение
становится

Результирующий тензор
живет в
.
Поэлементное определение
Из приведенного выше выражения получается поэлементное определение полилинейного умножения. Действительно, поскольку
- многомерный массив, его можно выразить как

куда

коэффициенты. Тогда из приведенных выше формул следует, что

куда
это Дельта Кронекера. Следовательно, если
, тогда

где
элементы
как определено выше.
Характеристики
Позволять
- тензор порядка d над тензорным произведением
-векторные пространства.
Поскольку полилинейное умножение является тензорным произведением линейных отображений, мы имеем следующее свойство полилинейности (при построении карты):[1][2]

Мультилинейное умножение - это линейная карта:[1][2]

Из определения следует, что сочинение двух полилинейных умножений также является полилинейным умножением:[1][2]

куда
и
являются линейными отображениями.
Обратите особое внимание на то, что полилинейные умножения на разные множители коммутируют,

если 
Вычисление
Мультилинейное умножение фактора k
можно вычислить в координатах следующим образом. Прежде всего заметьте, что

Далее, поскольку

существует биективное отображение, называемое фактор-k стандарт сплющивание,[1] обозначается
, который определяет
с элементом из последнего пространства, а именно

куда
это jстандартный базисный вектор
,
, и
это фактор-k матрица уплощения из
чьи столбцы фактор-k векторов
в некотором порядке, определяемом конкретным выбором биективного отображения
![{ displaystyle mu _ {k}: [1, n_ {1}] times cdots times [1, n_ {k-1}] times [1, n_ {k + 1}] times cdots times [1, n_ {d}] to [1, N_ {k}].}](https://wikimedia.org/api/rest_v1/media/math/render/svg/a3e1d65c6facfa5698a4fcd5230bfa093c2ff272)
Другими словами, мультилинейное умножение
можно вычислить как последовательность d фактор-k мультилинейные умножения, которые сами по себе могут быть эффективно реализованы как классические умножения матриц.
Приложения
В разложение по сингулярным числам высшего порядка (HOSVD) факторизует тензор, заданный в координатах
как мультилинейное умножение
, куда
ортогональные матрицы и
.
дальнейшее чтение