В математике , особенно в линейной алгебре и теории матриц , то векторизации из матрицы представляет собой линейное преобразование , которое преобразует матрицу в вектор - столбце . В частности, векторизация матрицы A размера m × n , обозначенная vec ( A ), представляет собой вектор-столбец размером mn × 1, полученный путем наложения столбцов матрицы A друг на друга:
Здесь, представляет и верхний индекс обозначает транспонирование . Векторизация выражает через координаты изоморфизм между ними (то есть матриц и векторов) как векторные пространства.
Например, для матрицы 2 × 2 , векторизация .
Связь между векторизацией A и векторизацией его транспонирования задается матрицей коммутации .
Совместимость с продуктами Kronecker
Векторизация часто используется вместе с произведением Кронекера, чтобы выразить умножение матриц как линейное преобразование матриц. В частности,
для матриц A , B и C размеров k × l , l × m и m × n . [1] Например, если( сопряженный эндоморфизм из алгебры Ли GL ( п , С ) всех п × п матриц с комплексными записей), а затем, где - единичная матрица размера n × n .
Есть еще два полезных препарата:
В более общем плане было показано, что векторизация - это самосоединение в моноидальной замкнутой структуре любой категории матриц. [1]
Совместимость с продуктами Адамара
Векторизация - это гомоморфизм алгебр из пространства матриц размера n × n с (поэлементным) произведением Адамара в C n 2 с его произведением Адамара:
Совместимость с внутренними продуктами
Векторизация - это унитарное преобразование пространства матриц размера n × n со скалярным произведением Фробениуса (или Гильберта – Шмидта ) в C n 2 :
где верхний индекс T обозначает сопряженное транспонирование .
Векторизация как линейная сумма
Операцию векторизации матрицы можно записать в виде линейной суммы. Пусть X - матрица размера m × n, которую мы хотим векторизовать, и пусть e i будет i -м каноническим базисным вектором для n -мерного пространства, то есть. Пусть B i - блочная матрица ( mn ) × m, определенная следующим образом:
B i состоит из n блочных матриц размера m × m , уложенных по столбцам, и все эти матрицы все равны нулю, за исключением i -й, которая является единичной матрицей m × m I m .
Тогда векторизованная версия X может быть выражена следующим образом:
Умножение X на e i извлекает i -й столбец, а умножение на B i помещает его в желаемую позицию в конечном векторе.
В качестве альтернативы линейная сумма может быть выражена с помощью произведения Кронекера :
Полувекторизация
Для симметричной матрицы A вектор vec ( A ) содержит больше информации, чем это строго необходимо, поскольку матрица полностью определяется симметрией вместе с нижней треугольной частью, то есть n ( n + 1) / 2 элементами на и ниже главной диагонали . Для таких матриц полу-векторизация иногда более полезна, чем векторизация. Полувекторизация, vech ( A ), симметричной матрицы A размера n × n - это вектор-столбец n ( n + 1) / 2 × 1, полученный векторизацией только нижней треугольной части матрицы A :
Например, для матрицы 2 × 2 , полу-векторизация .
Там существуют уникальные матрицы , преобразующая половина векторизации матрицы его векторизации и , наоборот , называют, соответственно, матрица дублирования и матрицей ликвидации .
Язык программирования
Языки программирования, реализующие матрицы, могут иметь простые средства векторизации. В Matlab / GNU Octave матрицу A
можно векторизовать с помощью A(:)
. GNU Octave также позволяет векторизацию и полу-векторизацию с помощью vec(A)
и vech(A)
соответственно. У Джулии тоже есть vec(A)
функция. В Python массивы NumPy реализуют flatten
метод [1] , в то время как в R желаемый эффект может быть достигнут с помощью функций c()
или as.vector()
. В R функция vec()
пакета «ks» допускает векторизацию, а функция, vech()
реализованная в обоих пакетах «ks» и «sn», допускает полувекторизацию. [2] [3] [4]
Заметки
- 1. ^ ^ Тождество для векторизации мажорной строки: .
Смотрите также
Рекомендации
- ^ Маседо, HD; Оливейра, Дж. Н. (2013). "Набор линейной алгебры: подход, ориентированный на два продукта". Наука компьютерного программирования . 78 (11): 2160–2191. arXiv : 1312.4818 . DOI : 10.1016 / j.scico.2012.07.012 . S2CID 9846072 .
- ^ Дуонг, Тарн (2018). "ks: Сглаживание ядра" . Пакет R версии 1.11.0 .
- ^ Аззалини, Адельчи (2017). «Пакет R 'sn': асимметрично-нормальные и родственные дистрибутивы, такие как Skew-t» . Пакет R версии 1.5.1 .
- ^ Винод, Хришикеш Д. (2011). «Одновременное сокращение и векторизация» . Практическая матричная алгебра с использованием R: активное и мотивированное обучение с помощью приложений . Сингапур: World Scientific. С. 233–248. ISBN 978-981-4313-69-8- через Google Книги .
- Ян Р. Магнус и Хайнц Нойдекер (1999), Матричное дифференциальное исчисление с приложениями в статистике и эконометрике , 2-е изд., Wiley. ISBN 0-471-98633-X .