stringtranslate.com

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

В математике , особенно в линейной алгебре и теории матриц , векторизация матрицы — это линейное преобразование , которое преобразует матрицу в вектор . В частности, векторизация матрицы A размером m × n , обозначаемая vec( A ), — это вектор-столбец размером mn × 1, полученный путем наложения столбцов матрицы A друг на друга: Здесь представляет элемент в i -й строке и j -м столбце матрицы A , а верхний индекс обозначает транспонирование . Векторизация выражает через координаты изоморфизм между ними (т. е. матрицами и векторами) как векторными пространствами.

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

Связь между векторизацией A и векторизацией ее транспонирования задается матрицей коммутации .

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

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

Есть еще две полезные формулировки:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложения

Векторизация используется в матричном исчислении и его приложениях для установления, например, моментов случайных векторов и матриц, асимптотик, а также матриц Якоби и Гессе. [5] Она также используется в локальной чувствительности и статистической диагностике. [6]

Примечания

  1. ^ ab Идентификатор векторизации по строкам: .

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

Ссылки

  1. ^ Маседо, HD; Оливейра, JN (2013). «Ввод линейной алгебры: подход, ориентированный на бипродукт». Science of Computer Programming . 78 (11): 2160–2191. arXiv : 1312.4818 . doi : 10.1016/j.scico.2012.07.012. S2CID  9846072.
  2. ^ Дуонг, Тарн (2018). "ks: Kernel Smoothing". Версия пакета R 1.11.0 .
  3. ^ Azzalini, Adelchi (2017). "Пакет R 'sn': асимметрично-нормальное и родственные распределения, такие как асимметричное t". Версия пакета R 1.5.1 .
  4. ^ Винод, Хришикеш Д. (2011). «Одновременное сокращение и укладка векторов». Практическая матричная алгебра с использованием R: активное и мотивированное обучение с приложениями . Сингапур: World Scientific. стр. 233–248. ISBN 978-981-4313-69-8– через Google Книги .
  5. ^ Магнус, Ян; Нойдекер, Хайнц (2019). Матричное дифференциальное исчисление с приложениями в статистике и эконометрике . Нью-Йорк: John Wiley. ISBN 9781119541202.
  6. ^ Лю, Шуанчжэ; Лейва, Виктор; Чжуан, Дэн; Ма, Тиефенг; Фигероа-Сунига, Хорхе И. (март 2022 г.). «Матричное дифференциальное исчисление с приложениями в многомерной линейной модели и его диагностика». Журнал многомерного анализа . 188 : 104849. doi : 10.1016/j.jmva.2021.104849 .