Векторизация (математика) - Vectorization (mathematics)

В математика, особенно в линейная алгебра и матричная теория, то векторизация из матрица это линейное преобразование который преобразует матрицу в вектор столбца. В частности, векторизация м × п матрица А, обозначается vec (А), это мин × 1 вектор-столбец, полученный путем наложения столбцов матрицы А друг на друга:

Здесь, представляет и верхний индекс обозначает транспонировать. Векторизация выражает через координаты изоморфизм между ними (то есть матриц и векторов) как векторные пространства.

Например, для матрицы 2 × 2 = , векторизация .

Совместимость с продуктами Kronecker

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

для матриц А, B, и C размеров k×л, л×м, и м×п.[1] Например, если присоединенный эндоморфизм из Алгебра Ли gl (п, C) из всех п×п матрицы с сложный записей), то , куда это п×п единичная матрица.

Есть еще два полезных препарата:

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

Совместимость с продуктами Адамара

Векторизация - это гомоморфизм алгебр из космоса п × п матрицы с Адамар (начальный) продукт для Cп2 с его произведением Адамара:

Совместимость с внутренними продуктами

Векторизация - это унитарное преобразование из космоса п×п матрицы с Фробениус (или же Гильберта-Шмидта ) внутренний продукт к Cп2:

где верхний индекс Т обозначает сопряженный транспонировать.

Векторизация как линейная сумма

Операцию векторизации матрицы можно записать в виде линейной суммы. Позволять Икс быть м × п матрицу, которую мы хотим векторизовать, и пусть ея быть я-й канонический базисный вектор для п-мерное пространство, то есть . Позволять Bя быть (млн) × м блочная матрица определяется следующим образом:

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

Тогда векторизованная версия Икс можно выразить следующим образом:

Умножение Икс к ея извлекает i-й столбец, а умножение на Bя помещает его в желаемое положение в конечном векторе.

В качестве альтернативы линейная сумма может быть выражена с помощью Кронекер продукт:

Полувекторизация

Для симметричная матрица А, вектор vec (А) содержит больше информации, чем это строго необходимо, поскольку матрица полностью определяется симметрией вместе с нижний треугольный часть, то есть п(п + 1)/2 записи на и под главная диагональ. Для таких матриц полу-векторизация иногда бывает полезнее векторизации. Полувекторизация, вечер (А) симметричной п × п матрица А это п(п + 1)/2 × 1 вектор-столбец, полученный векторизацией только нижней треугольной части А:

веч (А) = [ А1,1, ..., Ап,1, А2,2, ..., Ап,2, ..., Ап−1,п−1,Ап,п−1, Ап,п ]Т.

Например, для матрицы 2 × 2 А = , полувекторизация - веч (А) = .

Существуют уникальные матрицы, преобразующие полувекторизацию матрицы в ее векторизацию и наоборот, называемые соответственно матрица дублирования и матрица исключения.

Язык программирования

Языки программирования, реализующие матрицы, могут иметь простые средства векторизации. Matlab /GNU Octave матрица А может быть векторизован А (:).GNU Octave также позволяет векторизацию и полу-векторизацию с vec (А) и vech (A) соответственно. Юля имеет vec (А) функции также. Python NumPy массивы реализуют метод 'flatten'[1], пока в р желаемого эффекта можно добиться с помощью c () или же as.vector () функции. В р, функция vec () пакета 'ks' позволяет векторизацию и функцию vech () реализованный в обоих пакетах 'ks' и 'sn' допускает половинную векторизацию.[2][3][4]

Примечания

1.^ ^ Идентификатор для векторизации мажорной строки: .

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

Рекомендации

  1. ^ Macedo, H.D .; Оливейра, Дж. Н. (2013). "Набор линейной алгебры: подход, ориентированный на два продукта". Наука компьютерного программирования. 78 (11): 2160–2191. arXiv:1312.4818. Дои:10.1016 / j.scico.2012.07.012. S2CID  9846072.
  2. ^ Дуонг, Тарн (2018). "ks: Сглаживание ядра". Пакет R версии 1.11.0.
  3. ^ Аззалини, Адельчи (2017). "Пакет R 'sn': асимметрично-нормальные и родственные распределения, такие как перекос-t". Пакет R версии 1.5.1.
  4. ^ Винод, Хришикеш Д. (2011). «Одновременное сокращение и накопление Vec». Практическая матричная алгебра с использованием R: активное и мотивированное обучение с помощью приложений. Сингапур: World Scientific. С. 233–248. ISBN  978-981-4313-69-8 - через Google Книги.
  • Ян Р. Магнус и Хайнц Нойдекер (1999), Матричное дифференциальное исчисление с приложениями в статистике и эконометрике, 2-е изд., Wiley. ISBN  0-471-98633-X.