Desenul arată cazul în care
A este și
B este 2 4 × 2 × 3 și dorim să calculăm elementul
(C) 12 =
(AB) 12 al produsului matricial
C =
A x B, cu dimensiuni 4 x 3 :
{\ displaystyle (C) _ {12} = \ sum _ {r = 1} ^ {2} a_ {1r} b_ {r2} = a_ {11} b_ {12} + a_ {12} b_ {22}} În matematică , mai precis , în algebra liniară , multiplicarea matricelor este liniile de produse pentru coloanele între două matrici , poate , în anumite condiții, care dă naștere la o altă matrice. Dacă o matrice reprezintă o aplicație liniară , produsul matricelor este traducerea compoziției a două aplicații liniare. Deci, dacă două matrice 2 x 2 reprezintă de exemplu două rotații în planul unghiurilor α și β, produsul lor este definit în așa fel încât să reprezinte o rotație a unghiului α + β.
Definiție
Este {\ displaystyle K} un inel . Se dă o matrice {\ displaystyle A} in marime {\ displaystyle m \ times n} și a doua matrice {\ displaystyle B} in marime {\ displaystyle n \ times p} la valori în {\ displaystyle K} . Lasa-i sa fie {\ displaystyle a_ {ij}} elementele de {\ displaystyle A} Și {\ displaystyle b_ {ij}} elementele de {\ displaystyle B} . Produsul matricial al {\ displaystyle A} pentru {\ displaystyle B} matricea {\ displaystyle C = AB} la valori în {\ displaystyle K} și în mărime {\ displaystyle m \ times p} ale cărei elemente {\ displaystyle c_ {ij}} Acestea sunt date de: [1]
- {\ displaystyle c_ {ij} = \ sum _ {r = 1} ^ {n} a_ {ir} b_ {rj} = a_ {i1} b_ {1j} + a_ {i2} b_ {2j} + \ cdots + a_ {in} b_ {nj}}
pentru fiecare valoare de rând {\ displaystyle i} și coloană {\ displaystyle j.}
Două matrici pot fi multiplicate între ele numai în cazul în care numărul de coloane ale primei este egal cu numărul de rânduri în al doilea, iar produsul dintre cele două matrice nu este comutativ . [2]
O matrice poate fi multiplicat cu el însuși numai dacă este pătrat . În acest caz, produsul {\ displaystyle A \ cdot A} denotă cu {\ displaystyle A ^ {2}} . Mai general, puterea {\ displaystyle n} -thth dintr-o matrice este:
- {\ displaystyle A ^ {n} = {\ begin {cases} I și {\ text {se}} n = 0, \\\ underbrace {A \ cdot A \ cdots A} _ {n} și {\ text {se}} n> 0, \ end {cases}}}
unde este {\ displaystyle n} este un număr natural și {\ displaystyle I} Este matricea identitate . Cu toate acestea, pentru exponenții de ordin mult mai mari ale matricei, este mai ușor să se calculeze puterile cu ajutorul teoriei funcțiilor matricei , ceea ce face , de asemenea , posibilitatea de a generaliza definiția puterii până a admite un exponent complex .
O altă definiție informală a multiplicării matricei, concepută pentru a permite o memorare mai rapidă și imediată, este „multiplicarea rând cu coloană”, de fapt, pentru a obține elementul {\ displaystyle i} -alea linie e {\ displaystyle j} -a coloana din matricea produsului pune doar un index pe rând {\ displaystyle i} din prima matrice, cealaltă pe coloană {\ displaystyle j} a doua și înmulțiți elementele indicate, apoi derulați un loc cu degetele și multiplicați, până ajungeți la capătul coloanei și rândului, adăugați în cele din urmă diferitele produse obținute.
Proprietate
- Multiplicarea dintre matrici este , în general , nu comutativă , adică {\ displaystyle AB} Și {\ displaystyle BA} sunt două matrice diferite.
- Multiplicarea dintre matrici este distributivă în raport cu suma . Cu alte cuvinte:
- {\ displaystyle A (B + C) = AB + AC}
- {\ displaystyle (A + B) C = AC + BC}
- Pentru fiecare urcare {\ displaystyle k} este valabil:
- {\ displaystyle k (AB) = (kA) B = A (kB)}
- Înmulțirea între matrice este asociativă:
- {\ displaystyle A (BC) = (AB) C}
- Matricele având valori într - un inel (de exemplu, inelul de întregi , raționale , reale sau complexe ) cu operațiunile sumă și formă de produs un alt inel . După cum sa menționat mai sus, acest inel este , în general , nu comutativ , chiar dacă plecarea este.
- L ' elementul neutru pentru funcționarea multiplicării între matrici este matricea identitate {\ displaystyle I} . În special, dacă {\ displaystyle A} este pătrat cu același număr de linii ca {\ displaystyle I} :
- {\ displaystyle AI = IA = A}
- Nulul matrice 0 cu {\ displaystyle n} rândurile anulează orice altă matrice. În special, dacă {\ displaystyle A} Este pătrat cu {\ displaystyle n} linii, avem:
- {\ displaystyle 0A = A0 = 0}
- O matrice pătrată {\ displaystyle A} Este inversabil dacă există o altă matrice {\ displaystyle B} astfel încât {\ displaystyle AB = BA = I} unde este {\ displaystyle I} Este matricea identitate cu același număr de rânduri de {\ displaystyle A} . O matrice este inversabilă dacă și numai dacă determinantul este non-zero. Multe matrice nu sunt inversabile; cu alte cuvinte, chiar dacă setul de valori de pornire este un câmp , matricele nu formează un câmp. De exemplu, următoarea matrice nu este inversabilă:
- {\ displaystyle {\ begin {bmatrix} 0 & 0 \\ 1 & 1 \\\ end {bmatrix}}}
- Spus {\ displaystyle A ^ {\ mathrm {T}}} transpunerea de {\ displaystyle A} , avem asta {\ displaystyle (AB) ^ {\ mathrm {T}} = B ^ {\ mathrm {T}} A ^ {\ mathrm {T}}} . Intr-adevar:
- {\ displaystyle \ left [({AB}) ^ {\ mathrm {T}} \ right] _ {ij} = \ left ({AB} \ right) _ {ji} = \ sum _ {k} \ left ( {A} \ right) _ {jk} \ left ({B} \ right) _ {ki} = \ sum _ {k} \ left ({A} ^ {\ mathrm {T}} \ right) _ {kj } \ left ({B} ^ {\ mathrm {T}} \ right) _ {ik} = \ sum _ {k} \ left ({B} ^ {\ mathrm {T}} \ right) _ {ik} \ left ({A} ^ {\ mathrm {T}} \ right) _ {kj} =}
- {\ displaystyle = \ left [\ left ({B} ^ {\ mathrm {T}} \ right) \ left ({A} ^ {\ mathrm {T}} \ right) \ right] _ {ij}}
- Spus {\ displaystyle A ^ {- 1}} inversul lui {\ displaystyle A} , da {\ displaystyle (AB) ^ {- 1} = B ^ {- 1} A ^ {- 1}} .
- Spus {\ displaystyle A ^ {*}} conjugatul complex de {\ displaystyle A} , da {\ displaystyle (AB) ^ {*} = A ^ {*} B ^ {*}} . Intr-adevar:
- {\ displaystyle \ left [({AB}) ^ {\ star} \ right] _ {ij} = \ left [\ sum _ {k} \ left ({A} \ right) _ {ik} \ left ({ B} \ right) _ {kj} \ right] ^ {\ star} = \ sum _ {k} \ left ({A} \ right) _ {ik} ^ {\ star} \ left ({B} \ right ) _ {kj} ^ {\ star} = \ sum _ {k} \ left ({A} ^ {\ star} \ right) _ {ik} \ left ({B} ^ {\ star} \ right) _ {kj} = \ left ({A} ^ {\ star} {B} ^ {\ star} \ right) _ {ij}}
- Spus {\ displaystyle A ^ {\ dagger}} transpusa conjugată complexă a {\ displaystyle A} , da {\ displaystyle (AB) ^ {\ dagger} = B ^ {\ dagger} A ^ {\ dagger}} . Intr-adevar:
- {\ displaystyle \ left [({AB}) ^ {\ dagger} \ right] _ {ij} = \ left [\ left ({AB} \ right) ^ {\ star} \ right] _ {ji} = \ sum _ {k} \ left ({A} ^ {\ star} \ right) _ {jk} \ left ({B} ^ {\ star} \ right) _ {ki} = \ sum _ {k} \ left (A ^ {\ dagger} \ right) _ {kj} \ left ({B} ^ {\ dagger} \ right) _ {ik} = \ sum _ {k} \ left ({B} ^ {\ dagger} \ right) _ {ik} \ left (A ^ {\ dagger} \ right) _ {kj} = \ left (B ^ {\ dagger} A ^ {\ dagger} \ right) _ {ij}}
- De cale produs {\ displaystyle AB} este independent de ordinea în care {\ displaystyle A} Și {\ displaystyle B} sunt multiplicate:
- {\ displaystyle \ mathrm {tr} ({AB}) = \ mathrm {tr} ({BA})}
- Intr-adevar:
- {\ displaystyle \ operatorname {tr} (AB) = \ sum _ {i = 1} ^ {m} \ left (AB \ right) _ {ii} = \ sum _ {i = 1} ^ {m} \ sum _ {j = 1} ^ {n} A_ {ij} B_ {ji} = \ sum _ {j = 1} ^ {n} \ sum _ {i = 1} ^ {m} B_ {ji} A_ {ij } = \ sum _ {j = 1} ^ {n} \ left (BA \ right) _ {jj} = \ operatorname {tr} (BA)}
Produs al unei matrice pentru un vector
O matrice cu un singur rând, adică unul de mărime {\ displaystyle 1 \ times n} Este un vector rând . În mod similar, o matrice cu o singură coloană, adică de dimensiune {\ displaystyle m \ times 1} Este un vector coloană . În operația de multiplicare aceste două obiecte se comportă diferit.
Lasa-i sa fie {\ displaystyle A = (a_ {ij})} o matrice {\ displaystyle m \ times n} Și {\ displaystyle \ mathbf {v} = \ {v_ {i} \}} un vector coloană {\ displaystyle n \ times 1} . Produsul {\ displaystyle A} pentru vector {\ displaystyle \ mathbf {v}} este produsul matricilor:
- {\ displaystyle A \ mathbf {v} = \ mathbf {c}}
Componentele {\ displaystyle \ mathbf {c}} Sunt:
- {\ displaystyle c_ {i} = \ sum _ {j = 1} ^ {n} a_ {ij} v_ {j} = a_ {i1} v_ {1} + a_ {i2} v_ {2} + \ cdots + a_ {in} v_ {n}}
Algoritm
Un algoritm pentru multiplicarea matrice-vector este:
/ * Multiplicarea matricei × vector
RM = numărul de rânduri din matrice
CM = numărul de coloane din matrice (egal cu numărul de rânduri din vector)
M = matrice [RM] × [CM]
VI = vectorul inițial [CM]
VR = vectorul rezultat [CM]
vectorul rezultat va fi VR [RM] cu același număr de rânduri în matrice. * /
pentru (int i = 0; i <RM; i ++) {// rândurile scandisco cu index i
VR [i] = 0; // inițializați coordonata a i-a a vectorului la zero
pentru (int j = 0; j <CM; j ++) {// și coloane cu j
VR [i] = VR [i] + M [i] [j] * VI [j];
}
}
Acest produs este utilizat pe scară largă în algebra liniară , deoarece descrie o aplicație liniară . De exemplu, produsul:
- {\ displaystyle {\ begin {bmatrix} \ cos \ alpha & - \ sin \ alpha \\\ sin \ alpha & \ cos \ alpha \\\ end {bmatrix}} {\ begin {bmatrix} x \\ y \\ \ end {bmatrix}} = {\ begin {bmatrix} x \ cos \ alpha -y \ sin \ alpha \\ x \ sin \ alpha + y \ cos \ alpha \\\ end {bmatrix}}}
Reprezintă o rotație unghi {\ displaystyle \ alpha} în planul cartezian .
În unele cazuri, poate fi util să realizați produsul {\ displaystyle linevector \ times Matrix} : rezultatul este un alt vector rând.
Produs al unei matrice de către un scalar
Înmulțirea unei matrice {\ displaystyle A = (a_ {i, j})} pentru o urcare {\ displaystyle r} , Elementul Ie un dell“ inel care aparțin {\ displaystyle a_ {i, j}} , se obține înmulțind fiecare element al {\ displaystyle A} pentru alpinism:
- {\ displaystyle rA = (ra_ {i, j}) \}
În cazul în care inelul de pornire nu este comutativă , acest lucru este menționat ca multiplicarea stânga, și poate fi diferită de multiplicare dreapta:
- {\ displaystyle Ar = (a_ {i, j} r) \}
Proprietate
- Dacă inelul de pornire este comutativ (de exemplu , dacă acesta este inelul de întregi , raționale , reale sau complexe ) înmulțiri stânga și dreapta sunt echivalente și numai vorbește despre multiplicarea unei matrice cu un scalar.
- În cazul în care inelul de pornire este un câmp , de exemplu , cel al numerelor raționale , reale sau complexe , spațiul matricelor {\ displaystyle m \ times n} cu operațiunile sumă și produs pentru scalar formează un spațiu vectorial .
- Dacă inelul de pornire este un inel comutativ, spațiul matricei {\ displaystyle m \ times n} cu operațiunile sumă și produs pentru scalar formează un modul de .
Dacă inelul de pornire nu este comutativ, de exemplu , dacă acesta este inelul de quaternions , cele două înmulțiri nu sunt echivalente. De exemplu:
- {\ displaystyle i {\ begin {bmatrix} i & 0 \\ 0 & j \\\ end {bmatrix}} = {\ begin {bmatrix} -1 & 0 \\ 0 & k \\\ end {bmatrix}} \ neq {\ begin {bmatrix} -1 & 0 \\ 0 & -k \\\ end {bmatrix}} = {\ begin {bmatrix} i & 0 \\ 0 & j \\\ end {bmatrix}} i }
Construcții alternative
De-a lungul timpului, au fost definite alte tipuri de produse între matrice, mai puțin norocoase în ceea ce privește utilizarea produsului obișnuit rând cu coloană. În special, s -ar putea numi produsul Hadamard sau produsul punctual, în care produsul de {\ displaystyle A = (a_ {ij}) _ {ij}} Și {\ displaystyle B = (b_ {ij}) _ {ij}} este dat de {\ displaystyle AB = (a_ {ij} \ cdot b_ {ij}) _ {ij}} . De exemplu:
- {\ displaystyle {\ begin {bmatrix} 1 & 2 \\ 3 & -1 \ end {bmatrix}} {\ begin {bmatrix} -3 & 0 \\ 1 & 4 \ end {bmatrix}} = {\ begin { bmatrix} -3 & 0 \\ 3 & -4 \ end {bmatrix}}}
O altă construcție este dată de produsul Kronecker , care își găsește aplicații în calculul tensorial , dat de:
- {\ displaystyle AB = {\ begin {bmatrix} a_ {11} B & a_ {12} B & \ cdots & a_ {1n} B \\\ vdots & \ vdots & \ ddots & \ vdots \\ a_ {m1} B & a_ {m2} B & \ cdots & a_ {mn} B \ end {bmatrix}}}
exprimat sub forma unei matrice de bloc , în care fiecare bloc {\ displaystyle ij} -alea este dată de matrice {\ displaystyle B} înmulțit cu scalarul {\ displaystyle a_ {ij}} .
Exemple
- O matrice {\ displaystyle 2 \ times 3} înmulțit cu {\ displaystyle 3 \ times 3} dă o matrice {\ displaystyle 2 \ times 3} :
- {\ displaystyle {\ begin {bmatrix} 1 & 1 & 2 \\ 0 & 1 & -3 \\\ end {bmatrix}} \ times {\ begin {bmatrix} 1 & 1 & 1 \\ 2 & 5 & 1 \\ 0 & -2 & 1 \ end {bmatrix}} =}
- Primul rând al matricei de rezultate:
- {\ displaystyle C_ {11} = [(1 \ ori 1) + (1 \ ori 2) + (2 \ ori 0)] = 3}
- {\ displaystyle C_ {12} = [(1 \ ori 1) + (1 \ ori 5) + (2 \ ori -2)] = 2}
- {\ displaystyle C_ {13} = [(1 \ ori 1) + (1 \ ori 1) + (2 \ ori 1)] = 4}
- Al doilea rând al matricei de rezultate:
- {\ displaystyle C_ {21} = [(0 \ ori 1) + (1 \ ori 2) + (- 3 \ ori 0)] = 2}
- {\ displaystyle C_ {22} = [(0 \ ori 1) + (1 \ ori 5) + (- 3 \ ori -2)] = 11}
- {\ displaystyle C_ {23} = [(0 \ ori 1) + (1 \ ori 1) + (- 3 \ ori 1)] = - 2}
- Rezultat (matrice {\ displaystyle 2 \ times 3} ):
- {\ displaystyle {\ begin {bmatrix} C_ {11} & C_ {12} & C_ {13} \\ C_ {21} & C_ {22} & C_ {23} \\\ end {bmatrix}} = {\ începe {bmatrix} 3 & 2 & 4 \\ 2 & 11 & -2 \\\ end {bmatrix}}}
- Luați în considerare produsul:
- {\ displaystyle {\ begin {bmatrix} 1 & 2 & 0 \\ 3 & -1 & 4 \\\ end {bmatrix}} \ times {\ begin {bmatrix} 1 \\ 0 \\ - 1 \\\ end {bmatrix}} = {\ begin {bmatrix} (1 \ times 1 + 2 \ times 0 + 0 \ times -1) \\ (3 \ times 1 + -1 \ times 0 + 4 \ times -1) \\ \ end {bmatrix}} = {\ begin {bmatrix} 1 \\ - 1 \\\ end {bmatrix}}}
- Rezultatul acestei operații este un alt vector de coloană, de tip {\ displaystyle m \ times 1} .
Notă
Bibliografie
- Serge Lang, Algebra liniară, Torino, Bollati Basic Books, 1992, ISBN 88-339-5035-2 .
- (RO) Kenneth Ray Hoffman și Kunze, Algebra liniara , 2nd ed, Englewood Cliffs, NJ, Prentice -.. Hall, Inc, 1971, ISBN 0-13-536821-9 .
- Marco Abate, Chiara de Fabritiis, geometrie analitică cu liniară algebra, Milano, McGraw-Hill, 2006. ISBN 88-386-6289-4 .
- Edward Sernesi, Geometrie 1, 2 -a ed., Torino, Bollati Basic Books, 1989. ISBN 88-339-5447-1 .
- (RO) Henry Cohn, Robert Kleinberg, Balazs Szegedy, și Chris Umans. Algoritmi teoretici de grup pentru multiplicarea matricei. arΧiv : math.GR/0511460 . Proceedings of the 46 -lea Simpozion Anual privind Fundamentele Informaticii, 23-25 octombrie 2005, Pittsburgh, PA, IEEE Computer Society, pp. 379–388.
- (RO) Henry Cohn, Chris Umans. O abordare teoretică de grup a multiplicării rapide a matricei. arΧiv : math.GR/0307321 . Proceedings of the 44th anual IEEE Symposium on Fundamentele Informaticii, 11-14 octombrie 2003, Cambridge, MA, IEEE Computer Society, pp. 438-449.
- (EN) Arămar, D., S. Winograd, multiplicare matrice prin progresii aritmetice, J. Symbolic Comput. 9, p. 251-280, 1990.
- (RO) Robinson, Sara, Spre un algoritm optim pentru Matrix Multiplicare, SIAM News 38 (9), noiembrie 2005. PDF
- (RO) Strassen, Volker, gaussian Eliminarea nu este optimă, Numer. Matematica. 13, p. 354-356, 1969.
- (RO) Vassilevska Williams, Virginia, multiplicându matricele mai repede decât Arămar-Winograd, Manuscris, mai 2012. PDF
Elemente conexe
Alte proiecte
linkuri externe