Mnożenie macierzy - Matrix multiplication

W przypadku mnożenia macierzy liczba kolumn w pierwszej macierzy musi być równa liczbie wierszy w drugiej macierzy. Macierz wynikowa zawiera liczbę wierszy pierwszej i liczbę kolumn drugiej macierzy.

W matematyce , szczególnie w algebrze liniowej , mnożenie macierzy jest operacją binarną, która tworzy macierz z dwóch macierzy. W przypadku mnożenia macierzy liczba kolumn w pierwszej macierzy musi być równa liczbie wierszy w drugiej macierzy. Otrzymana macierz, znana jako iloczyn macierzy , ma liczbę wierszy pierwszej i liczbę kolumn drugiej macierzy. Iloczyn macierzy A i B oznaczamy jako AB .

Mnożenie macierzy został po raz pierwszy opisany przez francuskiego matematyka Jacques Philippe Marie Binet w 1812 roku, do reprezentowania kompozycję z map liniowych , które są reprezentowane przez macierze. Mnożenie macierzy jest zatem podstawowym narzędziem algebry liniowej i jako takie ma liczne zastosowania w wielu dziedzinach matematyki, a także w matematyce stosowanej , statystyce , fizyce , ekonomii i inżynierii . Obliczanie produktów macierzy jest centralną operacją we wszystkich zastosowaniach obliczeniowych algebry liniowej.

Notacja

W tym artykule zostaną zastosowane następujące konwencje notacji: macierze są reprezentowane dużymi literami pogrubionymi, np. A ; wektory pogrubione małymi literami, np. a ; a wpisy wektorów i macierzy są kursywą (ponieważ są to liczby z pola), np. A i a . Notacja indeksowa jest często najjaśniejszym sposobem wyrażania definicji i jest stosowana jako standard w literaturze. , J wejście macierzy A jest wskazany przez ( A ), ij , A ij lub w ij , natomiast podpisem cyfrowym (nie wpisy matrycy) na zbiór macierzy jest indeksowana tylko, na przykład A 1 , A 2 , itd.

Definicja

Jeśli A jest macierzą m × n , a B jest macierzą n × p ,

produkt macierzy C = AB (oznaczonej rozmnażania bez oznaczeń lub punkty) jest określona jako m x p macierz

takie, że

dla i = 1, ..., m oraz j = 1, ..., p .

Oznacza to, że wpis produktu uzyskuje się przez pomnożenie wyraz po wyrazie wpisów i- tego wiersza A i j- tej kolumny B i zsumowanie tych n produktów. Innymi słowy, jest iloczyn skalarny tego ı -tego rzędu A i j tej kolumny B .

Dlatego AB można również zapisać jako

Zatem iloczyn AB jest zdefiniowany wtedy i tylko wtedy, gdy liczba kolumn w A jest równa liczbie wierszy w B , w tym przypadku n .

W większości scenariuszy wpisy są liczbami, ale mogą to być dowolne obiekty matematyczne, dla których zdefiniowano dodawanie i mnożenie, są asocjacyjne i takie, że dodawanie jest przemienne , a mnożenie jest rozdzielne względem dodawania . W szczególności wpisy mogą być same macierzami (patrz macierz blokowa ).

Ilustracja

Diagram mnożenia macierzy 2.svg

Rysunek po prawej ilustruje schematycznie iloczyn dwóch macierzy A i B , pokazując, jak każde przecięcie w macierzy iloczynu odpowiada rzędowi A i kolumnie B .

Wartości na skrzyżowaniach oznaczonych kółkami to:

Podstawowe zastosowania

W przeszłości mnożenie macierzy zostało wprowadzone w celu ułatwienia i wyjaśnienia obliczeń w algebrze liniowej . Ten silny związek między mnożeniem macierzy a algebrą liniową pozostaje fundamentalny w całej matematyce, a także w fizyce , chemii , inżynierii i informatyce .

Mapy liniowe

Jeśli przestrzeń wektorowa ma skończoną bazę , każdy z jej wektorów jest jednoznacznie reprezentowany przez skończony ciąg skalarów, zwany wektorem współrzędnych , którego elementami są współrzędne wektora na podstawie. Te wektory współrzędnych tworzą inną przestrzeń wektorową, która jest izomorficzna z oryginalną przestrzenią wektorową. Wektor współrzędnych jest zwykle zorganizowany jako macierz kolumnowa (zwana również wektorem kolumnowym ), która jest macierzą z tylko jedną kolumną. Tak więc wektor kolumnowy reprezentuje zarówno wektor współrzędnych, jak i wektor oryginalnej przestrzeni wektorowej.

Odwzorowanie liniowe A z przestrzeni wektorowej o wymiarze n na przestrzeń wektorową o wymiarze m odwzorowuje wektor kolumnowy

na wektor kolumnowy

Mapa liniowa A jest zatem zdefiniowana przez macierz

i odwzorowuje wektor kolumnowy na iloczyn macierzy

Jeśli B jest innym odwzorowaniem liniowym z poprzedzającej przestrzeni wektorowej wymiaru m , do przestrzeni wektorowej wymiaru p , jest reprezentowane przez macierz Proste obliczenie pokazuje , że macierz odwzorowania złożonego jest iloczynem macierzy Ogólny wzór ) , który definiuje skład funkcji jest tu przedstawiony jako szczególny przypadek asocjatywności iloczynu macierzy (patrz § Asocjatywność poniżej):

Układ równań liniowych

Ogólna postać układu równań liniowych to

Używając tego samego zapisu jak powyżej, taki układ jest równoważny z równaniem jednomacierzowym

Iloczyn skalarny, forma dwuliniowa i iloczyn wewnętrzny

Iloczyn skalarny dwóch wektorów kolumnowych jest iloczynem macierzy

gdzie jest wektorem wierszowym uzyskanym przez transpozycję, a uzyskana macierz 1×1 jest identyfikowana za pomocą swojego unikalnego wpisu.

Mówiąc bardziej ogólnie, każda forma dwuliniowa w przestrzeni wektorowej o skończonych wymiarach może być wyrażona jako iloczyn macierzowy

a każdy produkt wewnętrzny może być wyrażony jako

gdzie oznacza sprzężoną transpozycję z (sprzężoną transpozycję lub równoważnie transpozycji koniugatu).

Właściwości ogólne

Mnożenie macierzy dzieli niektóre właściwości ze zwykłym mnożeniem . Jednak mnożenie macierzy nie jest zdefiniowane, jeśli liczba kolumn pierwszego czynnika różni się od liczby wierszy drugiego czynnika i jest nieprzemienne , nawet jeśli iloczyn pozostaje określony po zmianie kolejności czynników.

Nieprzemienność

Operacja jest przemienna, jeśli przy danych dwóch elementach A i B takich, że iloczyn jest zdefiniowany, to również jest zdefiniowany, a

Jeżeli A i B są macierzami o odpowiednich rozmiarach i , to jest definiowane jeżeli , a jest definiowane jeżeli . Dlatego jeśli jeden z produktów jest zdefiniowany, drugi nie jest zdefiniowany w ogóle. Jeśli , dwa produkty są zdefiniowane, ale mają różne rozmiary; dlatego nie mogą być równe. Tylko jeśli , to znaczy, jeśli A i Bmacierzami kwadratowymi o tym samym rozmiarze, oba produkty są zdefiniowane i mają ten sam rozmiar. Nawet w tym przypadku generalnie trzeba

Na przykład

ale

Ten przykład można rozszerzyć, aby pokazać, że jeśli A jest macierzą z wpisami w polu F , to dla każdej macierzy B z wpisami w F , wtedy i tylko wtedy , gdy gdzie , a I jest macierzą jednostkową . Jeżeli zamiast pola wpisy mają należeć do ringu , to należy dodać warunek, że c należy do środka ringu.

Jednym szczególnym przypadkiem, w którym występuje przemienność, jest sytuacja, w której D i E są dwiema (kwadratowymi) macierzami diagonalnymi (tego samego rozmiaru); następnie DE = ED . Ponownie, jeśli macierze znajdują się nad ogólnym pierścieniem, a nie polem, odpowiednie wpisy w każdej z nich muszą również komunikować się ze sobą, aby to się utrzymało.

Dystrybucja

Iloczyn matrycy jest rozdzielczy pod względem dodawania matrycy . Oznacza to, że jeśli A , B , C , D są macierzami o odpowiednich rozmiarach m × n , n × p , n × p i p × q , to należy mieć (lewy rozkład)

i (właściwa dystrybucja)

Wynika to z rozdzielności dla współczynników przez

Produkt ze skalarem

Jeśli A jest macierzą, a c skalarem, to macierze i są otrzymywane przez pomnożenie wszystkich wpisów A przez c . Jeśli skalary mają własność przemienności , to

Jeśli iloczyn jest zdefiniowany (czyli liczba kolumn A jest równa liczbie rzędów B ), to

oraz

Jeśli skalary mają własność przemienności, to wszystkie cztery macierze są równe. Mówiąc bardziej ogólnie, wszystkie cztery, jeśli są równe C należy do środka z pierścieniem zawierającym dane z macierzy, ponieważ w tym przypadku, c X = X C dla wszystkich macierzy X .

Właściwości te wynikają z dwuliniowości iloczynu skalarów:

Transponować

Jeśli skalary mają przemienność , to transpozycja iloczynu macierzy jest iloczynem, w odwrotnej kolejności, transpozycji czynników. To jest

gdzie T oznacza transpozycję, czyli wymianę wierszy i kolumn.

Ta identyczność nie obowiązuje dla nieprzemiennych wpisów, ponieważ kolejność między wpisami A i B jest odwrócona, gdy rozszerza się definicję iloczynu macierzy.

Złożony koniugat

Jeśli A i B mają wpisy złożone , to

gdzie * oznacza złożoną koniugat macierzy.

Wynika to z zastosowania do definicji iloczynu macierzowego faktu, że koniugat sumy jest sumą koniugatów sum, a koniugat produktu jest iloczynem koniugatów tych czynników.

Transpozycja działa na indeksy pozycji, podczas gdy koniugacja działa niezależnie na same pozycje. Wynika z tego, że jeśli A i B mają złożone wpisy, trzeba:

gdzie oznacza koniugat transponowany (koniugat transpozycji lub równoważnie transponowany koniugatu).

Łączność

Mając trzy macierze A , B i C , iloczyny ( AB ) C i A ( BC ) są zdefiniowane wtedy i tylko wtedy , gdy liczba kolumn A jest równa liczbie rzędów B , a liczba kolumn B jest równa liczbie wierszy C (w szczególności, jeśli jeden z produktów jest zdefiniowany, to drugi jest również zdefiniowany). W tym przypadku mamy własność asocjacyjną

Jeśli chodzi o każdą operację asocjacyjną, pozwala to na pominięcie nawiasów i zapisanie powyższych produktów jako

Rozciąga się to naturalnie na iloczyn dowolnej liczby matryc, pod warunkiem, że wymiary się zgadzają. To znaczy, jeśli A 1 , A 2 , ..., A n są macierzami takimi, że liczba kolumn A i jest równa liczbie wierszy A i + 1 dla i = 1, ..., n – 1 , następnie produkt

jest zdefiniowana i nie zależy od kolejności mnożenia , jeśli kolejność macierzy jest stała.

Te właściwości można udowodnić za pomocą prostych, ale skomplikowanych operacji sumowania . Wynik ten wynika również z faktu, że macierze reprezentują odwzorowania liniowe . Dlatego też asocjacyjna własność macierzy jest po prostu szczególnym przypadkiem asocjacyjnej własności składania funkcji .

Złożoność nie jest asocjacyjna

Chociaż wynik sekwencji iloczynów macierzy nie zależy od kolejności operacji (pod warunkiem, że kolejność macierzy nie zostanie zmieniona), złożoność obliczeniowa może dramatycznie zależeć od tej kolejności.

Na przykład, jeśli A , B i C są macierzami o odpowiednich rozmiarach 10×30, 30×5, 5×60 , obliczenie ( AB ) C wymaga 10×30×5 + 10×5×60 = 4500 mnożenia, natomiast obliczenie A ( BC ) wymaga 30×5×60 + 10×30×60 = 27 000 mnożenia.

Algorytmy zostały zaprojektowane w celu wyboru najlepszej kolejności produktów, patrz Mnożenie łańcucha macierzy . Gdy liczba n macierzy wzrasta, wykazano, że wybór najlepszego rzędu ma złożoność

Zastosowanie do podobieństwa

Każda macierz odwracalna definiuje transformację podobieństwa (na macierzach kwadratowych o tym samym rozmiarze co )

Transformacje podobieństwa mapują produkt na produkty, czyli

W rzeczywistości trzeba

Macierze kwadratowe

Oznaczmy zbiór n × n macierzy kwadratowych z wpisami w pierścieniu R , który w praktyce jest często ciałem .

W , iloczyn jest definiowany dla każdej pary macierzy. Tworzy to pierścień , który ma macierz jednostkową I jako element tożsamościowy (macierz, której wpisy przekątne są równe 1, a wszystkie inne wpisy są równe 0). Ten pierścień jest również asocjacyjną R- algebrą .

Jeśli n > 1 , wiele macierzy nie posiada odwrotności multiplikatywnej . Na przykład macierz, w której wszystkie wpisy wiersza (lub kolumny) mają wartość 0, nie ma odwrotności. Jeśli istnieje, odwrotność macierzy A oznaczamy A −1 , a zatem weryfikuje

Macierz, która ma odwrotność, jest macierzą odwracalną . W przeciwnym razie jest to pojedyncza macierz .

Iloczyn macierzy jest odwracalny wtedy i tylko wtedy, gdy każdy czynnik jest odwracalny. W tym przypadku trzeba

Gdy R jest przemienne , aw szczególności, gdy jest polem, wyznacznikiem iloczynu jest iloczyn wyznaczników. Ponieważ wyznacznikami są skalary, a skalary przechodzą, mamy zatem:

Inne niezmienniki macierzy nie zachowują się tak dobrze z produktami. Niemniej jednak, jeśli R jest przemienne, AB i BA mają ten sam ślad , ten sam wielomian charakterystyczny i te same wartości własne z tymi samymi krotnościami. Jednak wektory własne są ogólnie różne, jeśli ABBA .

Potęgi macierzy

Macierz kwadratową można podnieść do dowolnej nieujemnej potęgi całkowitej, mnożąc ją wielokrotnie przez siebie w taki sam sposób, jak w przypadku zwykłych liczb. To jest,

Obliczenie k- tej potęgi macierzy wymaga k – 1- krotności czasu pojedynczego mnożenia macierzy, jeśli odbywa się to algorytmem trywialnym (mnożenie wielokrotne). Jak to może być bardzo czasochłonne, jeden generalnie preferuje stosując algorytm szybkiego potęgowania , która wymaga mniej niż 2 log 2 k mnożenie macierzy, a więc jest znacznie bardziej wydajne.

Łatwym przypadkiem potęgowania jest macierz diagonalna . Ponieważ iloczyn macierzy diagonalnych sprowadza się do prostego pomnożenia przez siebie odpowiednich elementów diagonalnych, k- tą potęgę macierzy diagonalnej uzyskuje się przez podniesienie wpisów do potęgi k :

Algebra abstrakcyjna

Definicja iloczynu macierzowego wymaga, aby wpisy należały do ​​semiringu i nie wymaga, aby mnożenie elementów semiringu było przemienne . W wielu zastosowaniach elementy macierzy należą do dziedziny, chociaż tropikalny półpierścień jest również powszechnym wyborem w przypadku problemów z najkrótszą ścieżką grafu . Nawet w przypadku macierzy nad polami iloczyn w ogólności nie jest przemienny, chociaż jest asocjacyjny i dystrybucyjny względem dodawania macierzy . W macierzy tożsamości (które są macierze kwadratowe , których prace są równe zero na zewnątrz głównego przekątnej i 1 na głównej przekątna) są elementy identyfikacyjne produktu matrycy. Wynika z tego, że macierze n × n nad pierścieniem tworzą pierścień, który jest nieprzemienny, chyba że n = 1, a pierścień uziemienia jest przemienny.

Macierz kwadratowa może mieć odwrotność multiplikatywną , zwaną macierzą odwrotną . W powszechnym przypadku, gdy wpisy należą do pierścienia przemiennego r , macierz ma odwrotność wtedy i tylko wtedy, gdy jej wyznacznik ma odwrotność multiplikatywną w r . Wyznacznik iloczynu macierzy kwadratowych jest iloczynem wyznaczników czynników. N x n macierzy, które mają odwrotny, tworzą grupę względem mnożenia macierzy tej podgrupy , które są nazywane grupami matrycy . Wiele grup klasycznych (w tym wszystkie grupy skończone ) jest izomorficznych z grupami macierzowymi; to jest punkt wyjścia teorii reprezentacji grupowych .

Złożoność obliczeniowa

Poprawa estymacji wykładnika ω w czasie dla złożoności obliczeniowej mnożenia macierzy .

Mnożenie macierzy algorytm , który wynika z definicji wymaga w najgorszym przypadku , mnożenia i dodatki skalarów obliczyć iloczyn dwóch kwadratowych n x n macierzy. Jego złożoność obliczeniowa jest zatem , w modelu obliczeń, dla którego operacje skalarne trwają stały czas (w praktyce dotyczy to liczb zmiennoprzecinkowych , ale nie liczb całkowitych).

Co zaskakujące, ta złożoność nie jest optymalna, jak wykazał w 1969 roku Volker Strassen , który dostarczył algorytm, obecnie nazywany algorytmem Strassena , ze złożonością algorytmu Strassena, który można zrównoleglać w celu dalszej poprawy wydajności. Od grudnia 2020 r. najlepszy algorytm mnożenia macierzy został opracowany przez Josha Almana i Virginię Vassilevska Williams i ma złożoność O ( n 2.3728596 ) . Nie wiadomo, czy mnożenie macierzy można wykonać w czasie O ( n 2 + o(1) ) . Byłoby to optymalne, ponieważ trzeba odczytać elementy macierzy, aby pomnożyć ją przez inną macierz.

Ponieważ mnożenie macierzy stanowi podstawę wielu algorytmów, a wiele operacji na macierzach ma nawet taką samą złożoność, jak mnożenie macierzy (aż do stałej mnożenia), złożoność obliczeniowa mnożenia macierzy pojawia się w numerycznej algebrze liniowej i informatyce teoretycznej .

Uogólnienia

Inne rodzaje produktów matryc to:

Zobacz też

  • Rachunek macierzowy , do interakcji mnożenia macierzy z operacjami z rachunku różniczkowego

Uwagi

Bibliografia