Gradul de matrice. Algoritmi pentru multiplicarea rapidă a matricei

Aici vom continua subiectul operațiunilor pe matrice începute în prima parte și vom analiza câteva exemple în care mai multe operații vor trebui aplicate simultan.

Ridicarea unei matrice la o putere.

Fie k un întreg nenegativ. Pentru orice matrice pătrată $A_(n\times n)$ avem: $$ A^k=\underbrace(A\cdot A\cdot \ldots \cdot A)_(k \; ori) $$

În acest caz, presupunem că $A^0=E$, unde $E$ este matricea de identitate a ordinului corespunzător.

Exemplul nr. 4

Dată o matrice $ A=\left(\begin(array) (cc) 1 & 2 \\ -1 & -3 \end(array) \right)$. Găsiți matrice $A^2$ și $A^6$.

Conform definiției, $A^2=A\cdot A$, adică. pentru a găsi $A^2$ trebuie doar să înmulțim matricea $A$ cu ea însăși. Operația de înmulțire a matricei a fost discutată în prima parte a subiectului, așa că aici vom scrie pur și simplu procesul de rezolvare fără explicații detaliate:

$$ A^2=A\cdot A=\left(\begin(array) (cc) 1 & 2 \\ -1 & -3 \end(array) \right)\cdot \left(\begin(array) (cc) 1 & 2 \\ -1 & -3 \end(array) \right)= \left(\begin(array) (cc) 1\cdot 1+2\cdot (-1) & 1\cdot 2 +2\cdot (-3) \\ -1\cdot 1+(-3)\cdot (-1) & -1\cdot 2+(-3)\cdot (-3) \end(array) \right )= \left(\begin(array) (cc) -1 & -4 \\ 2 & 7 \end(array) \right). $$

Pentru a găsi matricea $A^6$ avem două opțiuni. Opțiunea 1: este trivial să continuați înmulțirea $A^2$ cu matricea $A$:

$$ A^6=A^2\cdot A\cdot A\cdot A\cdot A. $$

Cu toate acestea, puteți lua o cale puțin mai simplă, folosind proprietatea de asociativitate a înmulțirii matriceale. Să plasăm paranteze în expresia pentru $A^6$:

$$ A^6=A^2\cdot A\cdot A\cdot A\cdot A=A^2\cdot (A\cdot A)\cdot (A\cdot A)=A^2\cdot A^2 \cdot A^2. $$

Dacă rezolvarea primei metode ar necesita patru operații de înmulțire, atunci a doua metodă ar necesita doar două. Prin urmare, să mergem pe a doua cale:

$$ A^6=A^2\cdot A^2\cdot A^2=\left(\begin(array) (cc) -1 & -4 \\ 2 & 7 \end(array) \right)\ cdot \left(\begin(array) (cc) -1 & -4 \\ 2 & 7 \end(array) \right)\cdot \left(\begin(array) (cc) -1 & -4 \\ 2 și 7 \end(array) \right)=\\= \left(\begin(array) (cc) -1\cdot (-1)+(-4)\cdot 2 și -1\cdot (-4 )+(-4)\cdot 7 \\ 2\cdot (-1)+7\cdot 2 & 2\cdot (-4)+7\cdot 7 \end(array) \right)\cdot \left(\ begin(array) (cc) -1 & -4 \\ 2 & 7 \end(array) \right)= \left(\begin(array) (cc) -7 & -24 \\ 12 & 41 \end( matrice) \right)\cdot \left(\begin(array) (cc) -1 & -4 \\ 2 & 7 \end(array) \right)=\\= \left(\begin(array) (cc) ) -7\cdot(-1)+(-24)\cdot 2 & -7\cdot (-4)+(-24)\cdot 7 \\ 12\cdot (-1)+41\cdot 2 & 12 \cdot (-4)+41\cdot 7 \end(array) \right)= \left(\begin(array) (cc) -41 & -140 \\ 70 & 239 \end(array) \right). $$

Răspuns: $A^2=\left(\begin(array) (cc) -1 & -4 \\ 2 & 7 \end(array) \right)$, $A^6=\left(\begin(array) (cc) -41 și -140 \\ 70 și 239 \end(array) \right)$.

Exemplul nr. 5

Matrici date $ A=\left(\begin(array) (cccc) 1 & 0 & -1 & 2 \\ 3 & -2 & 5 & 0 \\ -1 & 4 & -3 & 6 \end(array) \right)$, $ B=\left(\begin(array) (ccc) -9 & 1 & 0 \\ 2 & -1 & 4 \\ 0 & -2 & 3 \\ 1 & 5 & 0 \end (matrice) \right)$, $ C=\left(\begin(array) (ccc) -5 & -20 & 13 \\ 10 & 12 & 9 \\ 3 & -15 & 8 \end(array) \ dreapta)$. Găsiți matricea $D=2AB-3C^T+7E$.

Începem să calculăm matricea $D$ prin găsirea rezultatului produsului $AB$. Matricele $A$ și $B$ pot fi înmulțite, deoarece numărul de coloane ale matricei $A$ este egal cu numărul de rânduri ale matricei $B$. Să notăm $F=AB$. În acest caz, matricea $F$ va avea trei coloane și trei rânduri, adică. va fi pătrat (dacă această concluzie nu pare evidentă, vezi descrierea înmulțirii matricelor din prima parte a acestui subiect). Să găsim matricea $F$ calculând toate elementele sale:

$$ F=A\cdot B=\left(\begin(array) (cccc) 1 & 0 & -1 & 2 \\ 3 & -2 & 5 & 0 \\ -1 & 4 & -3 & 6 \ end(matrice) \right)\cdot \left(\begin(array) (ccc) -9 & 1 & 0 \\ 2 & -1 & 4 \\ 0 & -2 & 3 \\ 1 & 5 & 0 \ end(matrice) \right)\\ \begin(aligned) & f_(11)=1\cdot (-9)+0\cdot 2+(-1)\cdot 0+2\cdot 1=-7; \\ & f_(12)=1\cdot 1+0\cdot (-1)+(-1)\cdot (-2)+2\cdot 5=13; \\ & f_(13)=1\cdot 0+0\cdot 4+(-1)\cdot 3+2\cdot 0=-3;\\ \\ & f_(21)=3\cdot (-9 )+(-2)\cdot 2+5\cdot 0+0\cdot 1=-31;\\ & f_(22)=3\cdot 1+(-2)\cdot (-1)+5\cdot (-2)+0\cdot 5=-5;\\ & f_(23)=3\cdot 0+(-2)\cdot 4+5\cdot 3+0\cdot 0=7;\\ \\ & f_(31)=-1\cdot (-9)+4\cdot 2+(-3)\cdot 0+6\cdot 1=23; \\ & f_(32)=-1\cdot 1+4\cdot (-1)+(-3)\cdot (-2)+6\cdot 5=31;\\ & f_(33)=-1 \cdot 0+4\cdot 4+(-3)\cdot 3+6\cdot 0=7. \end(aliniat) $$

Deci $F=\left(\begin(array) (ccc) -7 & 13 & -3 \\ -31 & -5 & 7 \\ 23 & 31 & 7 \end(array) \right)$. Să mergem mai departe. Matricea $C^T$ este matricea transpusă pentru matricea $C$, adică. $ C^T=\left(\begin(array) (ccc) -5 & 10 & 3 \\ -20 & 12 & -15 \\ 13 & 9 & 8 \end(array) \right) $. În ceea ce privește matricea $E$, este matricea identității. În acest caz, ordinea acestei matrice este de trei, adică. $E=\left(\begin(array) (ccc) 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end(array) \right)$.

În principiu, putem continua să mergem pas cu pas, dar este mai bine să luăm în considerare expresia rămasă ca un întreg, fără a fi distras de acțiuni auxiliare. De fapt, ne rămân doar operațiile de înmulțire a matricelor cu un număr, precum și operațiile de adunare și scădere.

$$ D=2AB-3C^T+7E=2\cdot \left(\begin(array) (ccc) -7 & 13 & -3 \\ -31 & -5 & 7 \\ 23 & 31 & 7 \ end(array) \right)-3\cdot \left(\begin(array) (ccc) -5 & 10 & 3 \\ -20 & 12 & -15 \\ 13 & 9 & 8 \end(array) \ dreapta)+7\cdot \left(\begin(array) (ccc) 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end(array) \right) $$

Să înmulțim matricele din partea dreaptă a egalității cu numerele corespunzătoare (adică cu 2, 3 și 7):

$$ 2\cdot \left(\begin(array) (ccc) -7 & 13 & -3 \\ -31 & -5 & 7 \\ 23 & 31 & 7 \end(array) \right)-3\ cdot \left(\begin(array) (ccc) -5 & 10 & 3 \\ -20 & 12 & -15 \\ 13 & 9 & 8 \end(array) \right)+7\cdot \left(\ begin(array) (ccc) 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end(array) \right)=\\= \left(\begin(array) (ccc) - 14 & 26 & -6 \\ -62 & -10 & 14 \\ 46 & 62 & 14 \end(array) \right)-\left(\begin(array) (ccc) -15 & 13 & 9 \\ -60 & 36 & -45 \\ 39 & 27 & 24 \end(array) \right)+\left(\begin(array) (ccc) 7 & 0 & 0 \\ 0 & 7 & 0 \\ 0 & 0 și 7 \end(array) \right) $$

Să facem ultimii pași: scădere și adunare:

$$ \left(\begin(array) (ccc) -14 & 26 & -6 \\ -62 & -10 & 14 \\ 46 & 62 & 14 \end(array) \right)-\left(\begin (matrice) (ccc) -15 & 30 & 9 \\ -60 & 36 & -45 \\ 39 & 27 & 24 \end(array) \right)+\left(\begin(array) (ccc) 7 & 0 & 0 \\ 0 & 7 & 0 \\ 0 & 0 & 7 \end(array) \right)=\\ =\left(\begin(array) (ccc) -14-(-15)+7 & 26-30+0 & -6-9+0 \\ -62-(-60)+0 & -10-36+7 & 14-(-45)+0 \\ 46-39+0 & 62-27 +0 & 14-24+7 \end(array) \right)= \left(\begin(array) (ccc) 8 & -4 & -15 \\ -2 & -39 & 59 \\ 7 & 35 & -3 \end(matrice) \right). $$

Problemă rezolvată, $D=\left(\begin(array) (ccc) 8 & -4 & -15 \\ -2 & -39 & 59 \\ 7 & 35 & -3 \end(array) \right)$ .

Răspuns: $D=\left(\begin(array) (ccc) 8 & -4 & -15 \\ -2 & -39 & 59 \\ 7 & 35 & -3 \end(array) \right)$.

Exemplul nr. 6

Fie $f(x)=2x^2+3x-9$ și matricea $ A=\left(\begin(array) (cc) -3 & 1 \\ 5 & 0 \end(array) \right) $. Aflați valoarea lui $f(A)$.

Dacă $f(x)=2x^2+3x-9$, atunci $f(A)$ este înțeles ca matrice:

$$ f(A)=2A^2+3A-9E. $$

Așa este definit un polinom într-o matrice. Deci, trebuie să înlocuim matricea $A$ în expresia pentru $f(A)$ și să obținem rezultatul. Deoarece toate acțiunile au fost discutate în detaliu mai devreme, aici voi da pur și simplu soluția. Dacă procesul de efectuare a operației $A^2=A\cdot A$ vă este neclar, atunci vă sfătuiesc să priviți descrierea înmulțirii matricelor din prima parte a acestui subiect.

$$ f(A)=2A^2+3A-9E=2A\cdot A+3A-9E=2 \left(\begin(array) (cc) -3 & 1 \\ 5 & 0 \end(array) \right)\cdot \left(\begin(array) (cc) -3 & 1 \\ 5 & 0 \end(array) \right)+3 \left(\begin(array) (cc) -3 & 1 \\ 5 & 0 \end(array) \right)-9\left(\begin(array) (cc) 1 & 0 \\ 0 & 1 \end(array) \right)=\\ =2 \left( \begin(array) (cc) (-3)\cdot(-3)+1\cdot 5 & (-3)\cdot 1+1\cdot 0 \\ 5\cdot(-3)+0\cdot 5 & 5\cdot 1+0\cdot 0 \end(array) \right)+3 \left(\begin(array) (cc) -3 & 1 \\ 5 & 0 \end(array) \right)-9 \left(\begin(array) (cc) 1 & 0 \\ 0 & 1 \end(array) \right)=\\ =2 \left(\begin(array) (cc) 14 & -3 \\ - 15 și 5 \end(array) \right)+3 \left(\begin(array) (cc) -3 și 1 \\ 5 și 0 \end(array) \right)-9\left(\begin(array) ) (cc) 1 & 0 \\ 0 & 1 \end(array) \right) =\left(\begin(array) (cc) 28 & -6 \\ -30 & 10 \end(array) \right) +\left(\begin(array) (cc) -9 & 3 \\ 15 & 0 \end(array) \right)-\left(\begin(array) (cc) 9 & 0 \\ 0 & 9 \ end(array) \right)=\left(\begin(array) (cc) 10 & -3 \\ -15 & 1 \end(array) \right). $$

Răspuns: $f(A)=\left(\begin(array) (cc) 10 & -3 \\ -15 & 1 \end(array) \right)$.

Algebră liniară pentru manechine

Pentru a studia algebra liniară, puteți citi și aprofunda în cartea „Matrici și determinanți” de I. V. Belousov. Cu toate acestea, este scris într-un limbaj matematic strict și sec, ceea ce este greu de perceput pentru persoanele cu inteligență medie. De aceea, am făcut o repovestire a părților cele mai greu de înțeles ale acestei cărți, încercând să prezint materialul cât mai clar, folosind cât mai mult desene. Am omis demonstrațiile teoremelor. Sincer, nu le-am aprofundat eu însumi. Îl cred pe domnul Belousov! Judecând după munca sa, este un matematician competent și inteligent. Puteți descărca cartea lui de la http://eqworld.ipmnet.ru/ru/library/books/Belousov2006ru.pdf Dacă aveți de gând să vă aprofundați în munca mea, trebuie să faceți acest lucru, pentru că mă voi referi adesea la Belousov.

Să începem cu definiții. Ce este o matrice? Acesta este un tabel dreptunghiular de numere, funcții sau expresii algebrice. De ce sunt necesare matrici? Ele facilitează foarte mult calculele matematice complexe. Matricea poate avea rânduri și coloane (Fig. 1).

Rândurile și coloanele sunt numerotate începând din stânga

de sus (Fig. 1-1). Când spun: o matrice de mărimea m n (sau m cu n), înseamnă m număr de linii, și sub n număr de coloane. De exemplu, matricea din Figura 1-1 este 4 cu 3, nu 3 cu 4.

Uită-te la fig. 1-3, ce matrici sunt acolo. Dacă o matrice este formată dintr-un rând, se numește matrice de rând, iar dacă este formată dintr-o coloană, atunci se numește matrice coloană. O matrice se numește pătrat de ordinul n dacă numărul de rânduri este egal cu numărul de coloane și egal cu n. Dacă toate elementele unei matrice sunt zero, atunci aceasta este o matrice zero. O matrice pătrată se numește diagonală dacă toate elementele sale sunt egale cu zero, cu excepția celor situate pe diagonala principală.

Voi explica imediat care este diagonala principală. Numerele rândurilor și coloanelor de pe el sunt aceleași. Merge de la stânga la dreapta de sus în jos. (Fig. 3) Elementele se numesc diagonală dacă sunt situate pe diagonala principală. Dacă toate elementele diagonale sunt egale cu unu (și restul sunt egale cu zero), matricea se numește identitate. Se spune că două matrici A și B de aceeași dimensiune sunt egale dacă toate elementele lor sunt aceleași.

2 Operații pe matrici și proprietățile acestora

Produsul unei matrice și al unui număr x este o matrice de aceeași dimensiune. Pentru a obține acest produs, trebuie să înmulțiți fiecare element cu acest număr (Figura 4). Pentru a obține suma a două matrice de aceeași dimensiune, trebuie să adăugați elementele corespunzătoare (Fig. 4). Pentru a obține diferența A - B a două matrice de aceeași dimensiune, trebuie să înmulțiți matricea B cu -1 și să adăugați matricea rezultată cu matricea A (Fig. 4). Pentru operațiile pe matrice sunt valabile următoarele proprietăți: A+B=B+A (proprietatea comutativității).

(A + B)+C = A+(B + C) (proprietate de asociativitate). Mai simplu spus, schimbarea locurilor termenilor nu schimbă suma. Următoarele proprietăți se aplică operațiilor pe matrice și numere:

(Notați numerele cu literele x și y, iar matricele cu literele A și B) x(yA)=(xy)A

Aceste proprietăți sunt similare cu proprietățile care se aplică operațiilor pe numere. Uite

exemple din Figura 5. Vezi și exemplele 2.4 - 2.6 din Belousov la pagina 9.

Înmulțirea matricei.

Înmulțirea a două matrice este definită numai dacă (tradus în rusă: matricele pot fi înmulțite numai dacă) atunci când numărul de coloane din prima matrice din produs este egal cu numărul de rânduri din a doua (Fig. 7, mai sus, paranteze albastre). Pentru a vă ajuta să vă amintiți: numărul 1 este mai mult ca o coloană. Rezultatul înmulțirii este o matrice de mărime (vezi Figura 6). Pentru a vă ușura să vă amintiți ce trebuie înmulțit cu ce, vă sugerez următorul algoritm: uitați-vă la Figura 7. Înmulțiți matricea A cu matricea B.

matricea A două coloane,

Matricea B are două rânduri - puteți înmulți.

1) Să ne ocupăm de prima coloană a matricei B (este singura pe care o are). Scriem această coloană într-o linie (transpune

coloana despre transpunere de mai jos).

2) Copiem această linie astfel încât să obținem o matrice de dimensiunea matricei A.

3) Înmulțim elementele acestei matrice cu elementele corespunzătoare ale matricei A.

4) Adunăm produsele rezultate în fiecare linie și obținem o matrice de produse de două rânduri și o coloană.

Figura 7-1 oferă exemple de înmulțire a matricelor care au dimensiuni mai mari.

1) Aici prima matrice are trei coloane, ceea ce înseamnă că a doua trebuie să aibă trei rânduri. Algoritmul este exact același ca în exemplul anterior, doar că aici sunt trei termeni în fiecare linie, nu doi.

2) Aici a doua matrice are două coloane. Mai întâi executăm algoritmul cu prima coloană, apoi cu a doua și obținem o matrice de două câte două.

3) Aici a doua matrice are o coloană formată dintr-un element, coloana nu se va modifica datorită transpunerii. Și nu este nevoie să adăugați nimic, deoarece prima matrice are o singură coloană. Efectuăm algoritmul de trei ori și obținem o matrice de trei câte trei.

Următoarele proprietăți au loc:

1. Dacă există suma B + C și produsul AB, atunci A (B + C) = AB + AC

2. Dacă produsul AB există, atunci x (AB) = (xA) B = A (xB).

3. Dacă produsele AB și BC există, atunci A (BC) = (AB) C.

Dacă produsul matriceal AB există, atunci produsul matriceal BA poate să nu existe. Chiar dacă produsele AB și BA există, ele se pot dovedi a fi matrici de dimensiuni diferite.

Ambele produse AB și BA există și sunt matrici de aceeași dimensiune numai în cazul matricelor pătrate A și B de același ordin. Cu toate acestea, chiar și în acest caz, AB poate să nu fie egal cu BA.

Exponentiatie

Ridicarea unei matrice la o putere are sens doar pentru matrice pătrată (vă gândiți de ce?). Atunci puterea întreagă pozitivă m a matricei A este produsul dintre m matrice egal cu A. La fel ca și pentru numere. Prin gradul zero al unei matrice pătrate A înțelegem o matrice de identitate de același ordin ca A. Dacă ați uitat ce este o matrice de identitate, priviți Fig. 3.

La fel ca în cazul numerelor, sunt valabile următoarele relații:

A mA k=A m+k (A m)k=A mk

Vezi exemple de la Belousov la pagina 20.

Matrici de transpunere

Transpunerea este transformarea matricei A în matricea AT,

în care rândurile matricei A sunt scrise pe coloanele AT menținând ordinea. (Fig. 8). Poți spune altfel:

Coloanele matricei A sunt scrise în rândurile matricei AT, păstrând ordinea. Observați cum transpunerea modifică dimensiunea matricei, adică numărul de rânduri și coloane. De asemenea, rețineți că elementele de pe primul rând, prima coloană și ultima linie, ultima coloană rămâne pe loc.

Următoarele proprietăți sunt valabile: (AT )T =A (transpun

matrice de două ori - obțineți aceeași matrice)

(xA)T =xAT (prin x înțelegem un număr, prin A, desigur, o matrice) (dacă trebuie să înmulțiți o matrice cu un număr și să transpuneți, puteți mai întâi să înmulțiți, apoi să transpuneți sau invers )

(A+B)T = AT +BT (AB)T =BT AT

Matrici simetrice și antisimetrice

Figura 9, stânga sus, prezintă o matrice simetrică. Elementele sale, simetrice față de diagonala principală, sunt egale. Și acum definiția: matrice pătrată

A se numește simetric dacă AT =A. Adică, o matrice simetrică nu se schimbă atunci când este transpusă. În special, orice matrice diagonală este simetrică. (O astfel de matrice este prezentată în Fig. 2).

Acum uitați-vă la matricea antisimetrică (Fig. 9, mai jos). Cum diferă de simetric? Rețineți că toate elementele sale diagonale sunt zero. Matricele antisimetrice au toate elementele diagonale egale cu zero. Gândește-te de ce? Definiție: O matrice pătrată A se numește

antisimetric dacă AT = -A. Să notăm câteva proprietăți ale operațiilor pe simetrice și antisimetrice

matrici. 1. Dacă A și B sunt matrice simetrice (antisimetrice), atunci A + B este o matrice simetrică (antisimetrică).

2. Dacă A este o matrice simetrică (antisimetrică), atunci xA este, de asemenea, o matrice simetrică (antisimetrică). (de fapt, dacă înmulțiți matricele din figura 9 cu un număr, simetria va fi încă păstrată)

3. Produsul AB a două matrice simetrice sau a două matrice antisimetrice A și B este o matrice simetrică pentru AB = BA și antisimetrică pentru AB =-BA.

4. Dacă A este o matrice simetrică, atunci A m (m = 1, 2, 3, . . .) este o matrice simetrică. Dacă A

O matrice antisimetrică, atunci Am (m = 1, 2, 3, ...) este o matrice simetrică pentru m par și antisimetrică pentru impar.

5. O matrice pătrată arbitrară A poate fi reprezentată ca o sumă a două matrice. (să numim aceste matrici, de exemplu A(s) și A(a) )

A=A (s)+A (a)

Înmulțirea matricei- una din operațiunile principale pe matrice. Se numește matricea rezultată din operația de înmulțire produs de matrici. Elemente matrice nouă sunt obținute din elementele matricelor vechi conform regulilor ilustrate mai jos.

Matrici A (\displaystyle A)Şi B (\displaystyle B) pot fi multiplicate dacă acestea compatibilîn sensul că numărul coloanelor matriceale A (\displaystyle A) egal cu numărul de linii B (\displaystyle B).

Matricele au multe dintre proprietățile algebrice ale înmulțirii comune numerelor obișnuite, cu excepția comutativității.

Pentru matricele pătrate, pe lângă înmulțire, se poate introduce și operația de ridicare a unei matrici la o matrice de putere și inversă.

În timp ce matricele sunt folosite pentru a descrie, în special, transformări ale spațiilor matematice (rotație, reflexie, întindere și altele), produsul matricelor va descrie compoziția transformărilor.

Definiţie

Să fie date două matrice dreptunghiulare A (\displaystyle A)Şi B (\displaystyle B) dimensiuni l × m (\displaystyle l\times m)Şi m × n (\displaystyle m\times n) respectiv:

A = [ a 11 a 12 ⋯ a 1 m a 21 a 22 ⋯ a 2 m ⋮ ⋮ ⋱ ⋮ a l 1 a l 2 ⋯ a l m ] , B = [ b 11 b 12 ⋯ b 1 n b 21 b 2 n ⋮ 2 n⋯ b 2 n⋮ ⋱ ⋮ b m 1 b m 2 ⋯ b m n ] .

(\displaystyle A=(\begin(bmatrix)a_(11)&a_(12)&\cdots &a_(1m)\\a_(21)&a_(22)&\cdots &a_(2m)\\\vdots &\vdots &\ddots &\vdots \\a_(l1)&a_(l2)&\cdots &a_(lm)\end(bmatrix)),\;\;\;B=(\begin(bmatrix)b_(11)&b_( 12)&\cdots &b_(1n)\\b_(21)&b_(22)&\cdots &b_(2n)\\\vdots &\vdots &\ddots &\vdots \\b_(m1)&b_(m2)& \cdots &b_(mn)\end(bmatrix)).) Apoi matricea C (\displaystyle C) dimensiune:

l × n (\displaystyle l\times n)

C = [ c 11 c 12 ⋯ c 1 n c 21 c 22 ⋯ c 2 n ⋮ ⋮ ⋱ ⋮ c l 1 c l 2 ⋯ c l n ] , (\displaystyle C=(\begin(bmatrix)c_(11)&c_(11)&c_(12) \cdots &c_(1n)\\c_(21)&c_(22)&\cdots &c_(2n)\\\vdots &\vdots &\ddots &\vdots \\c_(l1)&c_(l2)&\cdots &c_ (ln)\end(bmatrix)),)

in care:

c i j = ∑ r = 1 m a i r b r j (i = 1, 2, … l; j = 1, 2, … n) . (\displaystyle c_(ij)=\sum _(r=1)^(m)a_(ir)b_(rj)\;\;\;\left(i=1,2,\ldots l;\;j =1,2,\ldots n\dreapta).).

i-a numit lucru Operația de înmulțire a două matrice este fezabilă numai dacă numărul de coloane din primul factor este egal cu numărul de rânduri din al doilea; în acest caz ei spun că matricele

convenit . În special, înmulțirea este întotdeauna fezabilă dacă ambii factori sunt matrici pătrate de același ordin. Astfel, din existența operei A B (\displaystyle AB)

existenţa operei nu urmează deloc

B A . (\displaystyle BA.) Ilustrare Produsul matricelor AB constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei O (\displaystyle BA.)și vector coloană matrice B. Element de matrice cu indici eu, j Produsul matricelorŞi este un produs scalar i constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei.

-al-lea vector rând al matricei Produsul matricelorŞi constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei j Produsul matricelor al-lea vector coloană al matricei constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei Ilustrația din dreapta demonstrează calculul produsului a două matrici Produsul matricelor, arată cum fiecare intersecție dintr-un produs matriceal corespunde rândurilor matricei constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matriceiși coloane de matrice

. Mărimea matricei rezultate este întotdeauna maximul posibil, adică pentru fiecare rând al matricei

X 1, 2 = (a 1, 1, a 1, 2) ⋅ (b 1, 2, b 2, 2) = a 1, 1 b 1, 2 + a 1, 2 b 2, 2 x 3, 3 = (a 3 , 1 , a 3 , 2) ⋅ (b 1 , 3 , b 2 , 3) ​​​​= a 3 , 1 b 1 , 3 + a 3 , 2 b 2 , 3 (\displaystyle (\begin (aliniat )(\color (Roșu)x_(1,2))&=(a_(1,1),a_(1,2))\cdot (b_(1,2),b_(2,2)) \\ &=a_(1,1)b_(1,2)+a_(1,2)b_(2,2)\\(\culoare (Albastru)x_(3,3))&=(a_(3) ,1 ),a_(3,2))\cdot (b_(1,3),b_(2,3))\\&=a_(3,1)b_(1,3)+a_(3,2 )b_ (2,3)\end(aligned)))

În general, produsul matriceal nu este o operație comutativă. De exemplu:

[ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 1 2 3 4 ] 3 × 4 matrice [ ⋅ ⋅ ⋅ a ⋅ ⋅ ⋅ ⋅ b ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ d × 5 matrice = [ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ x 3 , 4 ⋅ ] 3 × 5 matrice (\displaystyle (\overset (3\times 4(\text( matrix)))(\begin(bmatrix)\cdot &\ \cdot &\cdot \\\cdot &\cdot &\cdot &\cdot \\\culoare (albastru)1&\culoare (albastru)2&\culoare (albastru)3&\culoare (albastru)4\\\end(bmatrix) )))(\overset (4\times 5(\text( matrix)))(\begin(bmatrix)\cdot &\cdot &\cdot &\color (Red)a&\cdot \\\cdot &\cdot & \cdot &\culoare (roșu)b&\cdot \\\cdot &\cdot &\cdot &\culoare (roșu)c&\cdot \\\cdot &\cdot &\cdot &\culoare (roșu)d&\cdot \ \\end(bmatrix)))=(\overset (3\times 5(\text( matrix)))(\begin(bmatrix)\cdot &\cdot &\cdot &\cdot &\cdot \\\cdot & \cdot &\cdot &\cdot &\cdot \\\cdot &\cdot &\cdot &x_(3,4)&\cdot \\\end(bmatrix))))

Element x 3 , 4 (\displaystyle x_(3,4)) produsul matricelor de mai sus se calculează după cum urmează

x 3 , 4 = (1 , 2 , 3 , 4) ⋅ (a , b , c , d) = 1 ⋅ a + 2 ⋅ b + 3 ⋅ c + 4 ⋅ d (\displaystyle x_(3,4)= ((\culoare (Albastru)1),(\culoare (Albastru)2),(\culoare (Albastru)3),(\culoare (Albastru)4))\cdot ((\culoare (Roșu)a),( \color (roșu)b),(\color (roșu)c),(\color (roșu)d))=(\color (albastru)1)\cdot (\color (roșu)a)+(\color ( Albastru)2)\cdot (\color (Roșu)b)+(\color (Albastru)3)\cdot (\color (Roșu)c)+(\color (Albastru)4)\cdot (\color (Roșu) d))

Prima coordonată din notația matriceală denotă un rând, a doua coordonată o coloană; această ordine este folosită atât pentru indexare, cât și pentru desemnarea mărimii. Element x i j (\displaystyle x_((\culoare (albastru)i)(\culoare (roșu)j))) la intersectia liniei i (\displaystyle i) si coloana j (\displaystyle j) matricea rezultată este produsul scalar i (\displaystyle i) al-lea rând al primei matrice și j (\displaystyle j) a-a coloană a celei de-a doua matrice. Așa se explică de ce lățimea și înălțimea matricelor care se înmulțesc trebuie să fie aceleași: în caz contrar produsul punctual este nedefinit.

Discuţie

Cel mai simplu mod de a vedea motivele pentru regula de multiplicare a matricei descrisă este de a lua în considerare înmulțirea unui vector cu o matrice.

Acesta din urmă este introdus în mod natural pe baza faptului că la descompunerea vectorilor într-o bază, acțiunea (orice) operator liniar Produsul matricelor oferă o expresie pentru componentele vectoriale v" = Produsul matricelorv:

v i ′ = ∑ j A i j v j (\displaystyle v"_(i)=\sum \limits _(j)A_(ij)v_(j))

Adică operatorul liniar se dovedește a fi reprezentat printr-o matrice, vectori - prin vectori coloană, iar acțiunea operatorului asupra unui vector - prin multiplicarea matriceală a vectorului coloană din stânga cu matricea operatorului (aceasta este un caz special de înmulțire a matricelor, când una dintre matrice - vectorul coloană - are dimensiunea n × 1 (\displaystyle n\times 1)).

(De asemenea, trecerea la orice bază nouă la schimbarea coordonatelor este reprezentată de o expresie complet similară, doar v i ′ (\displaystyle v"_(i))în acest caz, nu mai este vorba de componentele noului vector din vechea bază, ci de componentele vechiului vector din noua bază; în același timp A i j (\displaystyle A_(ij))- elemente ale matricei de tranziție către o nouă bază).

Având în vedere acțiunea secvențială asupra unui vector de doi operatori: în primul rând Produsul matricelor, și apoi constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei(sau transformarea bazei Produsul matricelor, iar apoi transformarea de bază constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei), aplicând formula noastră de două ori, obținem:

v i ″ = ∑ j B i j ∑ k A j k v k = ∑ j ∑ k B i j A j k v k = ∑ k ∑ j (B i j A j k) v k , (\displaystyle v""_(i)=\sum \limits _( j)B_(ij)\sum \limits _(k)A_(jk)v_(k)=\sum \limits _(j)\sum \limits _(k)B_(ij)A_(jk)v_(k) )=\sum \limits _(k)\sum \limits _(j)(B_(ij)A_(jk))v_(k),)

din care se poate observa că compoziţiile B.A. acţiuni ale operatorilor liniari Produsul matricelorŞi constă din toate combinațiile posibile de produse scalare ale vectorilor rând ai matricei(sau o compoziție similară a transformărilor de bază) corespunde unei matrice calculate conform regulii produsului matricelor corespunzătoare:

(B A) i k = ∑ j B i j A j k .

(\displaystyle (BA)_(ik)=\sum\limits _(j)B_(ij)A_(jk).) Produsul matricelor definite în acest fel se dovedește a fi complet natural și evident util (oferă o simplă și metoda universala

calcularea compoziţiilor unui număr arbitrar de transformări liniare).

Proprietăți Proprietate potrivită

, asociativitate: A (B C) = (A B) C;

Proprietatea distributivă, distributivitatea față de adunare:

A (B + C) = A B + A C ; (\displaystyle \mathbf (A) (\mathbf (B) +\mathbf (C))=\mathbf (AB) +\mathbf (AC) ;). (A + B) C = A C + B C .

(\displaystyle (\mathbf (A) +\mathbf (B))\mathbf (C) =\mathbf (AC) +\mathbf (BC) .) A B ≠ B A .(\displaystyle \mathbf (AB) \neq \mathbf (BA) .) DacăŞi A B = B A (\displaystyle \mathbf (AB) =\mathbf (BA) ), apoi matricele

A (\displaystyle \mathbf (A) )

B (\displaystyle \mathbf (B) ) se numesc naveta unul cu altul. Cele mai simple exemple de matrice de navetă: Matrice A = [ a i k ] (\displaystyle A=\left) comanda n (\displaystyle n) este nedegenerată dacă și numai dacă det A = det [ a i k ] ≠ 0 ; (\displaystyle \det A=\det \left\neq 0;)

în acest caz,

A - 1 (\displaystyle A^(-1)) este o matrice pătrată de același ordin n: (\displaystyle n:) A - 1 = [ a i k ] - 1 = [ A k i det A ] , (\displaystyle A^(-1)=\left^(-1)=\left[(\frac (A_(ki))(\det Corect],) Unde A i k (\displaystyle A_(ik))

- complement algebric al unui element

a i k (\displaystyle a_(ik)) în determinant det [a i k] .

  • (\displaystyle \det \left.)
Algoritmi pentru multiplicarea rapidă a matricei Complexitatea calculării produsului matricelor prin definiție este O (n 3) (\displaystyle \ O(n^(3))) Complexitatea calculării produsului matricelor prin definiție este, totuși, există algoritmi mai eficienți utilizați pentru matrice mari. Problema vitezei maxime de multiplicare a matricelor mari, precum și problema construirii celor mai rapidi și mai stabili algoritmi practici pentru înmulțirea matricelor mari rămâne una dintre problemele nerezolvate ale algebrei liniare. Algoritmul lui Strassen (1969) Primul algoritm pentru multiplicarea rapidă a matricelor mari a fost dezvoltat de Volker Strassen în 1969. Algoritmul se bazează pe împărțirea recursivă a matricelor în blocuri. 2X2 este complexitatea mai mare a programării în comparație cu algoritmul standard, stabilitatea numerică slabă și o cantitate mai mare de memorie utilizată. Pe baza metodei Strassen au fost dezvoltați o serie de algoritmi, care îmbunătățesc stabilitatea numerică, viteza constantă și alte caracteristici. Cu toate acestea, datorită simplității sale, algoritmul lui Strassen rămâne unul dintre algoritmii practici pentru multiplicarea matricelor mari. Strassen a prezentat și următoarea conjectura Strassen: pentru arbitrar mic ε > 0 (\displaystyle \varepsilon >0) există un algoritm, pentru natural suficient de mare n garantând înmulțirea a două matrici de mărime n × n (\displaystyle n\times n) pentru O (n 2 + ε) (\displaystyle O(n^(2+\varepsilon ))) operațiuni.
  • Îmbunătățiri suplimentare ale exponentului ω pentru viteza de multiplicare a matricei
Ulterior, estimările vitezei de multiplicare a matricelor mari au fost îmbunătățite de multe ori. Cu toate acestea, acești algoritmi au fost teoretici, în mare parte aproximativi. Din cauza instabilității algoritmilor de multiplicare aproximativă, aceștia nu sunt utilizați în prezent în practică.
  • Algoritmul lui Pan (1978)
În 1978, Pan și-a propus metoda de înmulțire a matricei, a cărei complexitate era Θ(n 2,78041).
  • Algoritmul lui Beanie (1979)
În 1979, un grup de oameni de știință italieni condus de Bini a dezvoltat un algoritm pentru multiplicarea matricei folosind tensori. Complexitatea sa este Θ(n 2,7799).
  • Algoritmi Schönhage (1981)
În 1981, Schönhage a prezentat o metodă care a funcționat rapid Θ(n 2,695). Estimarea a fost obținută folosind o abordare numită înmulțirea parțială a matricei. Mai târziu a reușit să obțină o evaluare Θ(n 2,6087). Apoi Schonhage la bază metoda sumei directe a primit un rating de dificultateΘ(n 2,548) . Romani a reusit sa scada scorul laΘ(n 2,5166) , și Pan - la.
  • Θ(n 2,5161)
Algoritmul Coppersmith-Winograd (1990)