Spectacolele de desen cazul în care
A este 4 × 2 și
B este 2 x 3, și dorim să calculeze elementul
(C) 12 =
(AB) 12 din matricea produsului
C =
A x B, de 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 rândul de produs prin coloană între două matrici , posibil în anumite condiții, care dă naștere la o altă matrice. Dacă o matrice reprezintă o aplicație liniară , produsul dintre matrici este traducerea compoziției a două aplicații liniare. Deci, dacă doi 2 x 2 matrici reprezintă, de exemplu, două rotații în planul de unghiurile a și β, produsul lor este definit astfel încât să reprezinte o rotație a unghiului α + β.
Definiție
Este {\ displaystyle K} un inel . O matrice este dată {\ displaystyle A} in marime {\ displaystyle m \ times n} și o a doua matrice {\ displaystyle B} in marime {\ Displaystyle n \ ori p} la valori în {\ displaystyle K} . Lasa-i sa fie {\ displaystyle a_ {ij}} elementele {\ displaystyle A} Și {\ displaystyle b_ {ij}} elementele {\ displaystyle B} . Produsul matrice {\ displaystyle A} pentru {\ displaystyle B} matricea {\ displaystyle C = AB} la valori în {\ displaystyle K} și în dimensiune {\ displaystyle m \ times p} ale cărui elemente {\ displaystyle c_ {ij}} 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_ {în} B_ {nj}}
pentru fiecare valoare rând {\ displaystyle i} și coloană {\ J displaystyle.}
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 de - al doilea, iar produsul dintre două matrici nu este comutativ . [2]
O matrice poate fi multiplicată cu ea însăși numai dacă este pătrat . În acest caz, produsul {\ Displaystyle A \ cdot A} denotă cu {\ displaystyle A ^ {2}} . Mai general, puterea {\ displaystyle n} -lea unei matrice este:
- {\ Displaystyle A ^ {n} = {\ begin {cazuri} I, & {\ text {se}} n = 0, \\\ underbrace {A \ cdot A \ cdots A} _ {n}, & {\ textul {se}} n> 0 \ end {cazuri}}}
unde este {\ displaystyle n} este un număr natural și {\ displaystyle I} este matricea identității . Cu toate acestea, pentru exponenții mult mai mare decât ordinea matricei, este mai ușor să se calculeze puterile folosind teoria funcțiilor matricei , ceea ce permite , de asemenea , ne - a generaliza definiția puterii de a admite un complex exponent.
O altă definiție informală a matrice de multiplicare, concepute pentru a permite memorizarea mai rapidă și imediată, este „rând înmulțirea cu coloană“, de fapt, pentru a obține elementul {\ displaystyle i} -alea linie e {\ displaystyle j} coloană a matricei -lea produs doar a pus un index pe rândul {\ displaystyle i} a primei matrice, cealaltă pe coloana {\ displaystyle j} al doilea și se multiplică elementele indicate, apoi derulați-un singur loc cu degetele și se multiplică, până când ajunge la capătul coloanei și rândul, se adaugă în final diferitele produse obținute.
Proprietate
- Multiplicarea între matrici este , în general non- comutativă , adică {\ displaystyle AB} Și {\ displaystyle BA} ele sunt două matrici diferite.
- Multiplicarea între 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:
- {\ K displaystyle (AB) = (kA) B = A (kB)}
- Multiplicarea între matrici este asociativă:
- {\ A displaystyle (BC) = (AB) C}
- Matrici având valori într - un inel (de exemplu, inelul de numere întregi , rationale , reals sau complecși ) cu adiție de operații și de produs formează un alt inel . După cum sa menționat mai sus, acest inel este , în general non-comutativă chiar dacă cel de pornire este.
- Elementul neutru pentru operația de multiplicare între matrici este matricea identică {\ 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ânduri 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 ca {\ displaystyle A} . O matrice este inversabilă dacă și numai dacă determinantul este non-zero. Multe matrici nu sunt inversabilă; cu alte cuvinte, chiar dacă setul de valori de pornire este un câmp , matricele nu formează un câmp. De exemplu, matricea următoare 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 \ stânga [({AB}) ^ {\ mathrm {T}} \ right] _ {ij} = \ stânga ({AB} \ dreapta) _ {ji} = \ sum _ {k} \ stânga ( {A} \ dreapta) _ {jk} \ stânga ({B} \ dreapta) _ {ki} = \ sum _ {k} \ stânga ({A} ^ {\ mathrm {T}} \ dreapta) _ {kj } \ stânga ({B} ^ {\ mathrm {T}} \ dreapta) _ {ik} = \ sum _ {k} \ stânga ({B} ^ {\ mathrm {T}} \ dreapta) _ {ik} \ stânga ({A} ^ {\ mathrm {T}} \ dreapta) _ {kj} =}
- {\ Displaystyle = \ stânga [\ stânga ({B} ^ {\ mathrm {T}} \ dreapta) \ stânga ({A} ^ {\ mathrm {T}} \ dreapta) \ right] _ {ij}}
- Spus {\ A displaystyle ^ {- 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 \ stânga [({AB}) ^ {\ stea} \ right] _ {ij} = \ stânga [\ sum _ {k} \ stânga ({A} \ dreapta) _ {ik} \ stânga ({ B} \ dreapta) _ {kj} \ right] ^ {\ stea} = \ sum _ {k} \ stânga ({A} \ dreapta) _ {ik} ^ {\ stea} \ stânga ({B} \ dreapta ) _ {kj} ^ {\ stea} = \ sum _ {k} \ stânga ({A} ^ {\ stea} \ dreapta) _ {ik} \ stânga ({B} ^ {\ stea} \ dreapta) _ {kj} = \ stânga ({A} ^ {\ stea} {B} ^ {\ stea} \ dreapta) _ {ij}}
- Spus {\ Displaystyle A ^ {\ dagger}} conjugatul complex transpune {\ displaystyle A} , da {\ Displaystyle (AB) ^ {\ dagger} = B ^ {\ dagger} A ^ {\ dagger}} . Intr-adevar:
- {\ Displaystyle \ stânga [({AB}) ^ {\ dagger} \ right] _ {ij} = \ stânga [\ stânga ({AB} \ dreapta) ^ {\ stea} \ right] _ {ji} = \ sum _ {k} \ stânga ({A} ^ {\ stea} \ dreapta) _ {jk} \ stânga ({B} ^ {\ stea} \ dreapta) _ {ki} = \ sum _ {k} \ left (A ^ {\ dagger} \ dreapta) _ {kj} \ stânga ({B} ^ {\ dagger} \ dreapta) _ {ik} = \ sum _ {k} \ stânga ({B} ^ {\ dagger} \ dreapta) _ {ik} \ din stânga (A ^ {\ dagger} \ dreapta) _ {kj} = \ stânga (B ^ {\ dagger} A ^ {\ dagger} \ dreapta) _ {ij}}
- Urma produsului {\ displaystyle AB} este independentă de ordinea în care {\ displaystyle A} Și {\ displaystyle B} se înmulțesc:
- {\ Displaystyle \ mathrm {tr} ({AB}) = \ mathrm {tr} ({BA})}
- Intr-adevar:
- {\ Displaystyle \ operatorname {tr} (AB) = \ sum _ {i = 1} ^ {m} \ stânga (AB \ dreapta) _ {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} \ stânga (BA \ dreapta) _ {jj} = \ operatorname {tr} (BA)}
Produs al unei matrice pentru un vector
O matrice cu un singur rând, adică, una de dimensiuni {\ displaystyle 1 \ times n} , Este un vector linie . In mod similar, o matrice cu o singură coloană, adică, de dimensiuni {\ displaystyle m \ times 1} este un vector coloană . În operația de înmulțire 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 matricelor:
- {\ 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_ {în} v_ {n}}
Algoritm
Un algoritm de multiplicare matrice de-vector este:
/ * Matricea de multiplicare x vector
RM = numărul de rânduri în matricea
CM = numărul de coloane din matrice (egal cu numărul de rânduri în vectorul)
M = matricea [RM] × [CM]
VI = vectorul inițial [CM]
VR = rezultând vectorul [CM]
vectorul rezultat va fi VR [RM] , cu același număr de rânduri în matrice. * /
pentru (int i = 0; i <RM; i ++) {// I scana liniile cu index i
VR [i] = 0; // inițializa i-lea coordonata vectorului la zero
pentru (int j = 0; j <CM; j ++) {// și coloanele 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 & - \ păcat \ alpha \\\ păcat \ alpha & \ cos \ alpha \\\ end {bmatrix}} {\ begin {bmatrix} x \\ y \\ \ end {bmatrix}} = {\ begin {bmatrix} x \ cos \ alpha -y \ păcatul \ alpha \\ x \ păcat \ alpha + y \ cos \ alpha \\\ end {bmatrix}}}
reprezintă un unghi de rotație {\ displaystyle \ alpha} în planul cartezian .
În unele cazuri, poate fi util pentru a face produsul {\ Linevector displaystyle \ ori Matrix} : Rezultatul este un alt vector rând.
Produsul unei matrice cu un scalar
Multiplicarea unei matrice {\ displaystyle A = (a_ {i, j})} pentru o urcare {\ displaystyle r} , Adică, un element al inelului pe care întreprinderea {\ displaystyle a_ {i, j}} , Se obține prin înmulțirea fiecărui element {\ 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 pot diferi de multiplicare dreapta:
- {\ Displaystyle Ar = (a_ {i, j} r) \}
Proprietate
- În cazul în care inelul de pornire este comutativă (de exemplu , în cazul în care este inelul de numere întregi , raționale , reale sau complexe numere ) stânga și înmulțiri dreapta sunt echivalente , iar noi vorbim doar de înmulțirea unei matrice cu un scalar.
- În cazul în care inelul de pornire este un câmp , de exemplu , că de numere raționale , reale sau complexe , spațiul de matrice {\ displaystyle m \ times n} cu operațiunile de adaos și de produs la scară ele formează un spațiu vectorial .
- Dacă inelul de pornire este un inel comutativ, spațiul matrice {\ displaystyle m \ times n} cu operațiunile de adaos și de produs la scară formeaza un modul de .
Dacă inelul de pornire nu este comutativ, de exemplu , dacă este quaternion inelul, 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 matrici, mai puțin norocoși în ceea ce privește utilizarea produsului obișnuit-rând de coloane. În special, produsul Hadamard sau produsului punct poate fi numit, în care produsul {\ 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 calcul 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} -lea este dată de matricea {\ displaystyle B} înmulțit cu scalar {\ 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 ori {bmatrix} 1 & 1 & 2 \\ 0 & 1 & -3 \\\ end {bmatrix}} \ {\ begin {bmatrix} 1 & 1 & 1 \\ 2 & 5 & 1 \\ 0 & -2 & 1 \ end {bmatrix}}} =
- Primul rând al matricei rezultat:
- {\ Displaystyle C_ {11} = [(1 \ 1 ori) + (1 \ 2 ori) + (2 \ ori 0)] = 3}
- {\ Displaystyle C_ {12} = [(1 \ 1 ori) + (1 \ 5 ori) + (2 \ ori -2)] = 2}
- {\ Displaystyle C_ {13} = [(1 \ 1 ori) + (1 \ ori 1) + (2 \ ori 1)] = 4}
- rândul 2-lea al matricei rezultat:
- {\ Displaystyle C_ {21} = [(0 \ ori 1) + (1 \ 2 ori) + (- 3 \ ori 0)] = 2}
- {\ Displaystyle C_ {22} = [(0 \ ori 1) + (1 \ 5 ori) + (- 3 \ ori -2)] = 11}
- {\ Displaystyle C_ {23} = [(0 \ ori 1) + (1 \ 1 ori) + (- 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}} \ ori {\ begin {bmatrix} 1 \\ 0 \\ - 1 \\\ end {bmatrix}} = {\ begin {bmatrix} (1 \ 1 + 2 ori \ ori 0 + 0 \ ori -1) \\ (3 \ ori 1 + -1 \ ori 0 + 4 \ ori -1) \\ \ end {bmatrix}} = {\ begin {bmatrix} 1 \\ - 1 \\\ end {bmatrix}}}
- Rezultatul acestei operații este un alt vector coloană, de tip {\ displaystyle m \ times 1} .
Notă
Bibliografie
- Serge Lang, Algebra liniară , Torino, Bollati Boringhieri , 1992, ISBN 88-339-5035-2 .
- (RO) , Kenneth Hoffman și Ray Kunze, Algebra liniara , 2nd ed, Englewood Cliffs, New Jersey, Prentice -.. Hall, Inc, 1971, ISBN 0-13-536821-9 .
- Marco Abate, Chiara de Fabritiis, geometrie analitică cu elemente de algebra liniara, Milano, McGraw-Hill, 2006. ISBN 88-386-6289-4 .
- Edoardo Sernesi, 1 Geometria, 2nd ed., Torino, Bollati Boringhieri, 1989. ISBN 88-339-5447-1 .
- (RO) Henry Cohn, Robert Kleinberg, Balazs Szegedy, și Chris Umans. Grupul-teoretic Algoritmi pentru Matrix Înmulțirea. 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 grup-teoretic pentru Fast Matrix Înmulțirea. 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., Winograd S., 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