Matrica (matematika)

U matematici, **matrica** je pravokutna tablica brojeva, ili općenito, tablica koja se sastoji od apstraktnih objekata koji se mogu zbrajati i množiti.

Matrice se koriste za opisivanje linearnih jednadžbi, za praćenje koeficijenata linearnih transformacija, kao i za čuvanje podataka koji ovise od dva parametra. Matrice se mogu zbrajati, množiti i razlagati na razne načine, što ih čini ključnim konceptom u linearnoj algebri i teoriji matrica.

## Definicije i notacije
Horizontalne se linije u matrici zovu **retcima**, a vertikalne **stupcima** matrice. Matrica sa *m* redaka i *n* stupaca se naziva *m*-sa-*n* matricom (kaže se i zapisuje da je **formata** *m*×*n*) a *m* i *n* su **dimenzije** matrice.

Član matrice *A* koji se nalazi u *i*-tom retku i *j*-tom stupcu se naziva (*i*,*j*)-ti član matrice *A*. Ovo se zapisuje kao *A*i,j ili *A*[*i,j*]. Uvijek se prvo naznačuje redak, pa stupac.

Često se piše A:=(a_{i,j})_{m \times n} kako bi se definirala *m* × *n* matrica *A* čiji se svaki član *A*[*i,j*] naziva *a**i,j* za sve 1 ≤ *i* ≤ *m* i 1 ≤ *j* ≤ *n*. Međutim, konvencija da *i* i *j* počinju od 1 nije univerzalna: neki programski jezici započinju od nule, u kom slučaju imamo 0 ≤ *i* ≤ *m* &minus; 1 i 0 ≤ *j* ≤ *n* &minus; 1.

Matricu čija je jedna od dimenzija jednaka jedinici često nazivamo vektorom, i interpretiramo je kao element realnog koordinatnog prostora. 1 × *n* matrica (jedan redak i *n* stupaca) se naziva *vektor redak*, a *m* × 1 matrica (jedan stupac i *m* redaka) se naziva *vektor stupac*.

## Primjer
Matrica

: A = \begin{bmatrix}
1 & 2 & 3 \\
1 & 2 & 7 \\
4&9&2 \\
6&0&5\end{bmatrix}

je 4×3 matrica. Element *A*[2,3] ili *a*2,3 je 7.

Matrica

:  R = \begin{bmatrix} 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 \end{bmatrix} 

je 1×9 matrica, ili vektor redak sa 9 elemenata.

## Zbrajanje i množenje matrica
### Zbrajanje
Ako uzmemo matrice *A* i *B*, dimenzija *m*-sa-*n*, njihov **zbroj** *A + B* je *m*-sa-*n* matrica, izračunata zbrajanjem odgovarajućih elemenata (t.j. (*A + B*)[*i, j*] = *A*[*i, j*] + *B*[*i,&nbsp;j*] ). Na primjer:

: 
  \begin{bmatrix}
    1 & 3 & 2 \\
    1 & 0 & 0 \\
    1 & 2 & 2
  \end{bmatrix}
+
  \begin{bmatrix}
    0 & 0 & 5 \\
    7 & 5 & 0 \\
    2 & 1 & 1
  \end{bmatrix}
=
  \begin{bmatrix}
    1+0 & 3+0 & 2+5 \\
    1+7 & 0+5 & 0+0 \\
    1+2 & 2+1 & 2+1
  \end{bmatrix}
=
  \begin{bmatrix}
    1 & 3 & 7 \\
    8 & 5 & 0 \\
    3 & 3 & 3
  \end{bmatrix}


### Množenje skalarom
Ako uzmemo matricu *A* i broj *c*, **skalarni produkt** *cA* se računa množenjem skalarom *c* svakog elementa *A* (t.j. (*cA*)[*i*, *j*] = *cA*[*i*, *j*] ). Na primjer:

: 2
  \begin{bmatrix}
    1 & 8 & -3 \\
    4 & -2 & 5
  \end{bmatrix}
=
  \begin{bmatrix}
    2\cdot 1 & 2\cdot 8 & 2\cdot (-3) \\
    2\cdot 4 & 2\cdot (-2) & 2\cdot 5
  \end{bmatrix}
=
  \begin{bmatrix}
    2 & 16 & -6 \\
    8 & -4 & 10
  \end{bmatrix}


Operacije zbrajanja i množenja skalarom pretvaraju skup M(*m*, *n*, **R**) svih *m*-sa-*n* matrica sa realnim članovima u realni vektorski prostor dimenzije *mn*.

### Množenje matrica
**Množenje** dvije matrice je dobro definirano samo ako je broj stupaca lijeve matrice jednak broju redaka desne matrice. Ako je *A* matrica dimenzija *m*-sa-*n*, a *B* je matrica dimenzija *n*-sa-*p*, tada je njihov **umnožak** *AB* matrica dimenzija *m*-sa-*p* (*m* redaka, *p* stupaca) dan formulom:

:\,\!
    (AB)[i,j] = A[i,1]  B[1,j] + A[i,2]  B[2,j] + ... + A[i,n]  B[n,j]

 
za svaki par *i* i *j*.

Na primjer:

: 
    \begin{bmatrix}
        1 & 0 & 2 \\
       -1 & 3 & 1 \\
    \end{bmatrix}
\cdot
    \begin{bmatrix}
        3 & 1 \\
        2 & 1 \\
        1 & 0 \\
    \end{bmatrix}
=
    \begin{bmatrix}

        ( 1 \cdot 3  +  0 \cdot 2  +  2 \cdot 1)
      & ( 1 \cdot 1  +  0 \cdot 1  +  2 \cdot 0) \\

        ((-1) \cdot 3  +  3 \cdot 2  +  1 \cdot 1)
      & ((-1) \cdot 1  +  3 \cdot 1  +  1 \cdot 0) \\

    \end{bmatrix}


:::::::: 
=
    \begin{bmatrix}
        5 & 1 \\
        4 & 2 \\
    \end{bmatrix}


Množenje matrica ima sljedeća svojstva:
* (*AB*)*C* = *A*(*BC*) za sve *k*-sa-*m* matrice *A*, *m*-sa-*n* matrice *B* i *n*-sa-*p* matrice *C* (asocijativnost).
* (*A + B*)*C* = *AC* + *BC* za sve *m*-sa-*n* matrice *A* i *B* i *n*-sa-*k* matrice *C* (desna distributivnost).
* *C*(*A + B*) = *CA* + *CB* za sve *m*-sa-*n* matrice *A* i *B* i *k*-sa-*m* matrice *C* (lijeva distributivnost).

Valja znati da komutativnost **ne** vrijedi u općem slučaju; ako su dane matrice *A* i *B*, čak i ako su oba umnoška definirana, u općem slučaju je *AB* ≠ *BA*.

Posebno, skup M(*n*, **R**) svih kvadratnih matrica reda *n* je realna asocijativna algebra sa jedinicom, koja je nekomutativna za *n*&nbsp;&ge;&nbsp;2.

## Linearne transformacije, rang, transponirana matrica
Matrice mogu na zgodan način predstaviti linearne transformacije jer množenje matrica odgovara slaganju preslikavanja, kao što će dalje biti opisano. Upravo ovo svojstvo matrice čini moćnom strukturom podataka u višim programskim jezicima.

Ovdje i u nastavku, promatramo **R***n* kao skup *stupaca* ili *n*-sa-1 matrica.
Za svako linearno preslikavanje *f* : **R***n* → **R***m* postoji jedinstvena *m*-sa-*n* matrica *A*, takva da *f*(*x*) = *Ax* za svako *x* u **R***n*.
Kažemo da matrica *A* *predstavlja* linearno preslikavanje *f*.
Ako *k*-sa-*m* matrica *B* predstavlja drugo linearno preslikavanje *g* : **R***m* → **R***k*, tada je njihova kompozicija *g* o *f* također linearno preslikavanje **R***m* → **R***n*, i predstavljeno je upravo matricom *BA*. Ovo slijedi iz gorepomenute asocijativnosti množenja matrica.

Općenito, linearno preslikavanje iz *n*-dimenzionog vektorskog prostora u *m*-dimenzioni vektorski prostor je predstavljeno *m*-sa-*n* matricom, ako su izabrane baze za svaki.

Rang matrice *A* je dimenzija slike linearnog preslikavanja predstavljenog sa *A*; ona je ista kao dimenzija prostora generiranog retcima *A*, i također je iste dimenzije kao prostor generiran stupcima *A*.

Transponirana matrica, matrice *m*-sa-*n*, *A* je *n*-sa-*m* matrica *A*tr (nekad se zapisuje i kao *A*T ili t*A*), koja nastaje pretvaranjem stupaca u retke i redaka u stupce, to jest *A*tr[*i*, *j*] = *A*[*j*, *i*] za svaki *i* i *j*. Ako *A* predstavlja linearno preslikavanje u odnosu na dvije baze, tada matrica *A*tr predstavlja linearno preslikavanje u odnosu na dualne baze (vidi dualni prostor).

Vrijedi (*A + B*)tr = *A*tr + *B*tr i (*AB*)tr = *B*tr *A*tr.

## Povezano
* Rang matrice

## Vanjske veze