Înmulțirea matricilor

De la testwiki
Sari la navigare Sari la căutare
La înmulțirea matricilor, numărul de coloane din prima matrice trebuie să fie egal cu numărul de linii din a doua matrice. Matricea rezultată are numărul de linii ale primei matrice și numărul de coloane ale celei de-a doua matrice.

În matematică, în special în algebra liniară, înmulțirea matricilor sau înmulțirea matricială[1] este o operație binară care produce o matrice din două matrici. La înmulțirea matricială, numărul de coloane din prima matrice trebuie să fie egal cu numărul de linii din a doua matrice. Matricea rezultată, cunoscută sub numele de produs matricial, are numărul de linii ale primei matrice și numărul de coloane ale celei de-a doua matrice. Produsul matricilor Format:Math și Format:Math este notat Format:Math.[2]

Înmulțirea matricială a fost descrisă pentru prima dată de matematicianul francez Jacques Philippe Marie Binet în 1812,[3] pentru a reprezenta Format:Ill-wd de transformări liniare care sunt reprezentate cu ajutorul matricilor. Astfel, înmulțirea matricială a devenit un instrument de bază al algebrei liniare și, ca atare, are numeroase aplicații în multe domenii ale matematicii, precum și în matematica aplicată, statistică, fizică, economie și inginerie.[4][5] Calculul produselor matriciale este o operație centrală în toate aplicațiile algebrei liniare.

Notație

În acest articol convențiile privind notațiile sunt următoarele: matricile sunt reprezentate prin litere majuscule grase (bold), de exemplu Format:Math; vectorii cu litere minuscule grase, de exemplu Format:Math; iar elementele vectorilor și matricilor cu italice, de exemplu Format:Math sau Format:Math. Notația indexată este adesea cel mai clar mod de a exprima definițiile și este notația standard folosit în literatura de specialitate. Linia din matrice este indicată de indicele Format:Mvar, iar coloana de indicele Format:Mvar. Elementul matricei Format:Math este indicat prin Format:Math, Format:Math sau Format:Math. Prin excepție, un singur indice, de exemplu Format:Math, se folosește pentru a indica o matrice (nu un element al unei matrice) dintr-o colecție de matrici.

Definiție

Dacă Format:Math este o matrice Format:Math iar Format:Math este o matrice Format:Math,

𝐀=(a11a12a1na21a22a2nam1am2amn),𝐁=(b11b12b1pb21b22b2pbn1bn2bnp)

Produsul matricial Format:Math (notat fără punct sau semnul înmulțirii) este definit ca fiind matricea Format:Math [6][7][8][9]

𝐂=(c11c12c1pc21c22c2pcm1cm2cmp)

asfel încât

cij=ai1b1j+ai2b2j++ainbnj=k=1naikbkj,

pentru Format:Math și Format:Math.

Adică elementul Format:Mvar al produsului se obține prin înmulțirea termen cu termen a elementelor din linia Format:Mvar a matricei Format:Math cu cele din coloana Format:Mvar a matricei Format:Math și sumând aceste Format:Mvar produse. Altfel spus, Format:Mvar este produsul scalar al liniei Format:Mvar a matricei Format:Math cu coloana Format:Mvar a matricei Format:Math.

Prin urmare Format:Math poate fi scris și ca

𝐂=(a11b11++a1nbn1a11b12++a1nbn2a11b1p++a1nbnpa21b11++a2nbn1a21b12++a2nbn2a21b1p++a2nbnpam1b11++amnbn1am1b12++amnbn2am1b1p++amnbnp)

Astfel produsul Format:Math este definit dacă și numai dacă numărul de coloane din Format:Math este egal cu numărul de linii din Format:Math,[2] în acest caz Format:Math.

În majoritatea cazurilor elementele matricilor sunt numere, dar pot fi orice fel de obiecte matematice pentru care sunt definite o adunare și o înmulțire, care sunt asociative, adunarea să fie comutativă, iar înmulțirea să fie distributivă în raport cu adunarea. În particular, elementele pot fi ele înseși matrici.

Ilustrare

Prezentare vizuală a calculului termenilor produsului matricial

Figura din dreapta ilustrează schematic produsul a două matrice Format:Math și Format:Math, arătând cum fiecare intersecție din matricea produsului corespunde cu o linie din Format:Math și o coloană din Format:Math.

[a11a12a31a32]4×2 matrix[b12b13b22b23]2×3 matrix=[c12c33]4×3 matrix

Valorile de la intersecții, marcate cu cercuri în figura din dreapta, sunt:

c12=a11b12+a12b22c33=a31b13+a32b23

Principalele aplicații

Istoric, înmulțirea matricilor a fost introdusă pentru a facilita și clarifica calculele din algebra liniară. Această relație strânsă între înmulțirea matricilor și algebra liniară rămâne fundamentală în toate ramurile matematicii, precum și în fizică, chimie, inginerie și informatică.

Aplicații liniare

Dacă un spațiu vectorial are o bază finită, orice vector este reprezentat în mod unic printr-un șir finit de scalari, numit componentele vectorului, ale cărui elemente sunt coordonatele vectorului în acea bază. Aceste componente formează un alt spațiu vectorial, care este izomorf cu spațiul vectorial inițial. Componentele vectorului sunt plasate de obicei într-o matrice coloană (numită și vector coloană), care este o matrice cu o singură coloană. Deci, un vector coloană reprezintă atât componentele vectorului, cât și un vector din spațiului vectorial inițial.

O aplicație liniară Format:Mvar dintr-un spațiu vectorial de dimensiune Format:Mvar într-un spațiu vectorial de dimensiune Format:Mvar aplică un vector coloană

𝐱=(x1x2xn)

pe vectorul coloană

𝐲=A(𝐱)=(a11x1++a1nxna21x1++a2nxnam1x1++amnxn).

Aplicația liniară Format:Mvar este astfel definită de matricea

𝐀=(a11a12a1na21a22a2nam1am2amn),

și aplică vectorul coloană 𝐱 pe produsul matricial

𝐲=𝐀𝐱.

Dacă Format:Mvar este o altă aplicație liniară din spațiul vectorial precedent de dimensiunea Format:Mvar, într-un spațiu vectorial de dimensiunea Format:Mvar, este reprezentată printr-o matrice 𝐁 (Format:Mvar). Un calcul simplu arată că matricea compunerii BA este produsul matricial 𝐁𝐀. Formula generală (BA)(𝐱)=B(A(𝐱)) care definește funcția compusă este prezentată aici ca un caz particular de asociativitate al produsului matricial:

(𝐁𝐀)𝐱=𝐁(𝐀𝐱)=𝐁𝐀𝐱.

Rotațiile geometrice

Folosind un sistem de coordonate carteziene într-un plan euclidian, rotația cu un unghi α în jurul originii este o aplicație liniară. Mai exact,

[xy]=[cosαsinαsinαcosα][xy],

unde punctul inițial (x,y) și imaginea sa (x,y) sunt scrise ca vectori coloană.

Compunerea rotației cu unghiul α și cea cu unghiul β corespunde apoi cu produsul matricial

[cosβsinβsinβcosβ][cosαsinαsinαcosα]=[cosβcosαsinβsinαcosβsinαsinβcosαsinβcosα+cosβsinαsinβsinα+cosβcosα]=[cos(α+β)sin(α+β)sin(α+β)cos(α+β)],

în care membrul drept al ultimei identități conține identitățile trigonometrice pentru sinusul și cosinusul sumei și diferenței unghiurilor, compunerea corespunde rotației cu unghiul α+β, cum era de așteptat.

Alocarea resurselor în economie

Calculul elementului din stânga jos a 𝐀𝐁 corespunde luării în considerare a tuturor căilor (evidențiate) de la materia primă b4 la produsul final f1 în graful fluxului de producție

De exemplu, o fabrică fictivă folosește 4 tipuri de materii prime, b1,b2,b3,b4 pentru a produce 3 tipuri de bunuri intermediare , m1,m2,m3, care la rândul lor sunt folosite pentru a produce 3 tipuri de produse finite, f1,f2,f3. Matricile

𝐀=(101211011112)   și   𝐁=(121231422)

furnizează cantitatea de materii prime necesare pentru o anumită cantitate de bunuri intermediare și, respectiv, cantitatea de bunuri intermediare necesară pentru o anumită cantitate de produse finite. De exemplu, pentru a produce o unitate de bun intermediar m1, sunt necesare o unitate de materie primă b1, două unități de b2, nicio unitate de >b3 și o unitate de b4, corespunzătoare primei coloane din 𝐀.

Folosind înmulțirea matricilor se calculează

𝐀𝐁=(543895 6531196);

această matrice indică direct cantitățile de materii prime necesare pentru cantități date de produse finite. De exemplu, intrarea din stânga jos a 𝐀𝐁 este calculată ca fiind 11+12+24=11, reflectând faptul că pentru a produce o unitate de f1 sunt necesare 11 unități de b4. Efectiv, este necesară o unitate de b4 pentru m1, 2 pentru m2 și 4 pentru fiecare dintre cele două m3 unități care intră în unitatea f1, vezi imaginea.

Pentru a produce de exemplu 100 de unități din produsul final f1, 80 de unități de f2 și 60 de unități de f3, cantitățile necesare de materii prime pot fi calculate prin

(𝐀𝐁)(1008060)=(1000182011802180),

adică 1000 unități de b1, 1820 unități de b2, 1180 unități de b3 și 2180 unități de b4. Similar, matricea produsului 𝐀𝐁 poate fi utilizată pentru a calcula cantitățile necesare de materii prime pentru alte date privind cantitățile de produse finale.[10]

Sisteme de ecuații liniare

Forma generală a unui sistem de ecuații liniare este:

a11x1++a1nxn=b1a21x1++a2nxn=b2am1x1++amnxn=bm.

Folosind aceeași notație ca mai sus, un astfel de sistem este echivalent cu o singură ecuație matricială:

𝐀𝐱=𝐛.

Produsul scalar, forma biliniară și sesquiliniară

Produsul scalar al doi vectori coloană este elementul unic al produsului matricial

𝐱𝖳𝐲,

unde 𝐱𝖳 este vectorul linie obținut prin transpunerea 𝐱. (De obicei o matrice 1×1 este identificată prin unicul său element.)

În general, orice formă biliniară pe un spațiu vectorial de dimensiune finită poate fi exprimată ca produs matricial:

𝐱𝖳𝐀𝐲,

și orice altă Format:Ill-wd poate fi exprimată prin

𝐱𝐀𝐲,

unde 𝐱 este adjuncta lui 𝐱 (transpusa conjugată).

Proprietăți generale

Înmulțirea matricială are unele proprietăți asemănătoare cu înmulțirea obișnuită. Totuși, înmulțirea matricială nu este definită dacă numărul de coloane al primului factor diferă de numărul de linii al celui de-al doilea factor și este necomutativă,[11] chiar și când produsul rămâne definit după schimbarea ordinii factorilor.[12][13]

Necomutativitatea

O operație este comutativă dacă, fiind date două elemente Format:Math și Format:Math astfel încât produsul 𝐀𝐁 este definit, atunci 𝐁𝐀 este definit și 𝐀𝐁=𝐁𝐀.

Înmulțirea matricială a două matrici Format:Math și Format:Math al căror produs matricial 𝐀𝐁 este definit, ar fi comutativă dacă produsul 𝐁𝐀 este și el definit, iar 𝐀𝐁=𝐁𝐀.

Dacă Format:Math și Format:Math sunt matrici de dimensiunile Format:Mvar respectiv Format:Mvar, atunci 𝐀𝐁 este definit dacă Format:Mvar, iar 𝐁𝐀 este definit dacă Format:Mvar. Prin urmare, dacă unul dintre produse este definit, celălalt ar trebui să fie nedefinit. Dacă m=qn=p, cele două produse sunt definite, dar au dimensiuni diferite; astfel că ele nu pot fi egale. Doar dacă Format:Mvar, adică dacă Format:Math și Format:Math sunt ambele pătrate, de aceeași dimensiune, ambele produse sunt definite și au aceeași dimensiune. Chiar și în acest caz, în general

𝐀𝐁𝐁𝐀.

De exemplu

(0100)(0010)=(1000),

dar

(0010)(0100)=(0001).

Acest exemplu poate fi extins pentru a arăta că dacă Format:Math este o matrice Format:Mvar cu elementele într-un corp Format:Mvar, atunci 𝐀𝐁=𝐁𝐀 pentru orice matrice Format:Math Format:Mvar cu elementele din Format:Mvar dacă și numai dacă 𝐀=c𝐈 unde cF și Format:Math este matricea unitate Format:Mvar. Dacă, în loc de un corp, se presupune că elementele aparțin unui inel, atunci trebuie adăugată condiția ca Format:Mvar să aparțină centrului inelului.

Un caz particular în care comutativitatea apare este atunci când Format:Math și Format:Math sunt două matrici diagonale pătrate de aceeași mărime. Atunci Format:Math.[11] Din nou, dacă matricile sunt peste un inel generic în loc de a fi peste un corp, elementele corespunzătoare ale fiecăreia trebuie, de asemenea, să fie comutative unul față de celălalt pentru ca acest lucru să fie valabil.

Distributivitatea

Produsul matricial este distributiv față de adunarea matricilor. Adică dacă Format:Math sunt matrici de dimensiunile respective Format:Mvar, Format:Mvar, Format:Mvar, și Format:Mvar, există atât distributivitatea la stânga[11]

𝐀(𝐁+𝐂)=𝐀𝐁+𝐀𝐂,

cât și la dreapta[11]

(𝐁+𝐂)𝐃=𝐁𝐃+𝐂𝐃.

Aceasta rezultă din distributivitatea coeficienților

kaik(bkj+ckj)=kaikbkj+kaikckj,
k(bik+cik)dkj=kbikdkj+kcikdkj.

Asociativitatea

Fiind date matricile Format:Math și Format:Math, produsele Format:Math și Format:Math sunt definite dacă și numai dacă numărul de coloane din Format:Math este egal cu numărul de linii din Format:Math și numărul de coloane din Format:Math este egal cu numărul de linii din Format:Math (în special, dacă unul dintre produse este definit, atunci celălalt este și el definit). În acest caz există asociativitatea

(𝐀𝐁)𝐂=𝐀(𝐁𝐂).

Ca la orice operație asociativă, aceasta permite omiterea parantezelor și scrierea produselor de mai sus ca 𝐀𝐁𝐂.

Aceasta se extinde natural la produsul a oricâte matrici, cu condiția ca dimensiunile să se potrivească. Adică dacă Format:Math sunt matrici astfel încât numărul de coloane ale Format:Math este egal numărul de linii ale Format:Math pentru Format:Math, atunci produsul

i=1n𝐀i=𝐀1𝐀2𝐀n

este definit și nu depinde de ordinea în care se fac înmulțirile, cât timp ordinea matricilor este păstrată fixă.

Aceste proprietăți pot fi demonstrate prin operații de adunare simple, dar lungi. Acest rezultat rezultă și din faptul că matricile sunt aplicații liniare. Prin urmare, proprietatea asociativă a matricilor este pur și simplu un caz particular al proprietății asociative a Format:Ill-wd.

Produsul cu un scalar

Dacă Format:Math este o matrice și Format:Mvar un scalar, atunci matricile c𝐀 și 𝐀c se obțin înmulțind la stânga sau la dreapta toate elementele lui Format:Math cu Format:Mvar. Dacă scalarii sunt comutativi, atunci c𝐀=𝐀c.

Dacă produsul 𝐀𝐁 este definit (adică numărul de coloane din Format:Math este egal cu numărul de linii din Format:Math), atunci

c(𝐀𝐁)=(c𝐀)𝐁   și   (𝐀𝐁)c=𝐀(𝐁c).

Dacă scalarii sunt comutativi, atunci toate cele patru matrici sunt egale. În general, toate cele patru sunt egale dacă Format:Math aparține centrului unui inel care conține elementele matricei, deoarece în acest caz, Format:Math pentru toate matricile Format:Math.

Aceste proprietăți rezultă din biliniaritatea produsului scalarilor:

c(kaikbkj)=k(caik)bkj
(kaikbkj)c=kaik(bkjc).

Operații cu matricea transpusă

Dacă scalarii sunt comutativi, transpusa produsului matricial este produsul, în ordine inversă, al transpuselor factorilor. Acesta este

(𝐀𝐁)𝖳=𝐁𝖳𝐀𝖳

unde cu T este notată transpusa.

Această identitate nu este valabilă pentru elementele necomutative, deoarece ordinea dintre elementele lui Format:Math și Format:Math este inversată atunci când se extinde definirea produsului matricial.

Conjugata complexă

Dacă Format:Math și Format:Math au elemente complexe, atunci

(𝐀𝐁)*=𝐀*𝐁*

unde cu Format:Math sunt notate conjugatele complexe ale elementelor matricei.

Acest lucru rezultă din aplicarea la definiția produsului matricial a faptului că conjugatul unei sume este suma conjugatelor sumelor, iar conjugatul unui produs este produsul conjugatelor factorilor.

Transpunerea acționează asupra indicilor elementelor, în timp ce conjugarea acționează independent asupra elementelor în sine. Rezultă că, dacă Format:Math și Format:Math au elemente complexe, există

(𝐀𝐁)=𝐁𝐀,

unde cu Format:Math sunt notate adjunctele (conjugatele transpuselor, sau, echivalent, transpusele conjugatelor).

Matrici pătrate

Fie n(R) mulțimea de matrici pătrate Format:Mvar cu elementele din inelul Format:Mvar, care, în practică, este adesea un corp.

În n(R), produsul este definit pentru fiecare pereche de matrici. Acest lucru face din n(R) un inel, care are matricea unitate Format:Math ca element neutru (matricea ale cărei elemente pe diagonala principală sunt egale cu 1 și toate celelalte elemente sunt 0). Acest inel este, de asemenea, o Format:Ill-wd.

Dacă Format:Math, multe matrici nu au o inversă multiplicativă. De exemplu, o matrice care are toate elementele unei linii (sau unei coloane) 0 nu are inversă. Dacă există, inversa unei matrice Format:Math se notează Format:Math și verifică relația

𝐀𝐀1=𝐀1𝐀=𝐈.

O matrice care are o inversă este o matrice inversabilă. În caz contrar, este o matrice singulară.

Un produs matricial este inversabil dacă și numai dacă fiecare factor este inversabil. În acest caz există relația

(𝐀𝐁)1=𝐁1𝐀1.

Când Format:Mvar este comutativ și, în special, când este un corp, determinantul unui produs este produsul determinanților. Deoarece determinanții sunt scalari, iar scalarii sunt comutativi, există relația

det(𝐀𝐁)=det(𝐁𝐀)=det(𝐀)det(𝐁).

Ceilalți Format:Ill-wd matriciali nu se comportă la fel de bine cu produsele. Totuși, dacă Format:Mvar este comutativ, Format:Math și Format:Math au aceeași urmă, același Format:Ill-wd și aceleași valori proprii cu aceleași multiplicități. Totuși, vectorii proprii sunt în general diferiți dacă Format:Math.

Puterea unei matrice pătrate

O matrice pătrată poate fi ridicată la orice putere întreagă nenegativă înmulțind-o cu ea însăși în mod repetat, în același mod ca pentru numerele obișnuite. Acesta este,

𝐀0=𝐈,
𝐀1=𝐀,
Nu s-a putut interpreta (eroare de sintaxă): {\displaystyle \mathbf{A}^k = \underbrace{\mathbf{A}\mathbf{A}\cdots\mathbf{A}}_{\text{de 𝘬 ori}}.}

Calcularea celei de a Format:Mvar-a putere a unei matrice, dacă se face cu algoritmul trivial (înmulțire repetată) necesită de Format:Math ori timpul unei singure înmulțiri matriciale. Deoarece acest lucru consumă foarte mult timp, se preferă metoda Format:Ill-wd, care necesită mai puțin de Format:Math înmulțiri matriciale, deci este mult mai eficientă.

Un caz ușor de ridicare la putere este cel al unei matrice diagonale. Deoarece produsul matricilor diagonale echivalează cu simpla înmulțire a elementelor diagonale corespunzătoare, a Format:Mvar-a putere a unei matrici diagonale se obține prin ridicarea elementelor ei la puterea Format:Mvar:

[a11000a22000ann]k=[a11k000a22k000annk].

Aplicație la matrici asemenea

Orice matrice inversabilă 𝐏 definește o transformare de asemănare (pe matrici pătrate de aceeași dimensiune ca 𝐏)

S𝐏(𝐀)=𝐏1𝐀𝐏.

Transformările de asemănare aplică produsul la factori, adică

S𝐏(𝐀𝐁)=S𝐏(𝐀)S𝐏(𝐁).

De fapt,

𝐏1(𝐀𝐁)𝐏=𝐏1𝐀(𝐏𝐏1)𝐁𝐏=(𝐏1𝐀𝐏)(𝐏1𝐁𝐏).

Complexitatea de calcul

Îmbunătățirea estimărilor exponentului Format:Math în timp pentru complexitatea de calcul a înmulțirii matriciale O(nω)

Un algoritm de înmulțire a matricilor care rezultă din definiție necesită în cazul cel mai rău Format:Math înmulțiri și Format:Math adunări de scalari pentru a calcula produsul a două matrice pătrate Format:Math. Într-un model de calcul în care operațiile scalare au timp constant Format:Ill-wd este deci Format:Math).

Surprinzător, această complexitate nu este optimă, așa cum a arătat în 1969 Volker Strassen, care a furnizat un algoritm, numit acum Format:Ill-wd, cu o complexitate de O(nlog27)O(n2,8074).[14]

Din 2020, cel mai bun algoritm de înmulțire matricială era cel dat de Josh Alman și Virginia Vassilevska Williams, cu complexitatea Format:Math.[15]

Nu se știe dacă înmulțirea matricială poate fi efectuată în timp Format:Math. Acest lucru ar fi optim, deoarece trebuie citite cele Format:Math elementele unei matrice pentru a o înmulți cu o altă matrice.

Deoarece înmulțirea matricială formează baza pentru mulți algoritmi și multe operații pe matrici chiar au aceeași complexitate ca și înmulțirea matricială (până la o constantă multiplicativă), complexitatea de calcul a înmulțirii matriciale este o chestiune importantă în Format:Ill-wd și Format:Ill-wd.

Complexitatea de calcul în funcție de ordinea operațiilor

Deși rezultatul unei secvențe de produse matrice nu depinde de ordinea efectuării produselor (cu condiția ca ordinea matricelor să nu fie schimbată), complexitatea de calcul poate depinde mult de această ordine.

De exemplu, dacă Format:Math și Format:Math sunt matrici cu dimensiunile Format:Math, calculul Format:Math necesită Format:Math de înmulțiri, în timp ce calculul Format:Math necesită Format:Math de înmulțiri.

Au fost concepuți algoritmi pentru alegerea ordinii optime de efectuare a produselor, adică printr-un număr minim de operații. Când numărul Format:Mvar de matrici crește, s-a demonstrat că alegerea ordinii optime are o complexitate de O(nlogn).

Alte tipuri de produse ale matricelor

Înmulțirea „standard” a matricilor prezentată în articolul de față este singurul mod de înmulțire al matricilor studiat în învățământul preuniversitar din România.[16] Însă există și alte tipuri de produse de matrici:

Note

Bibliografie

Legături externe

Format:Portal Format:Algebră liniară