Ugrás a tartalomhoz

Mátrix (matematika)

Ellenőrzött
A Wikipédiából, a szabad enciklopédiából
(Mátrixszorzás szócikkből átirányítva)

A mátrix a matematikában mennyiségek téglalap alakú elrendezése (táblázata) (számoké, függvényeké, kifejezéseké, vagy egyéb elemeké, esetleg más mátrixoké; általánosan valamilyen gyűrű vagy vektortér elemeié).

A mátrixokra hasonló kalkulus („algebra”) építhető fel, mint az elemeikre, amelynek rendkívül sokféle alkalmazása lehetséges. Ennek tanulmányozása a lineáris algebra feladata. Mátrixokat szoktak használni lineáris egyenletek és lineáris, valamint bilineáris függvények leírására. A mátrixok – a lineáris algebra (egyik) leghasznosabb fogalmaként – a matematikának a gyakorlatban legtöbbször alkalmazott eszközei között vannak, a matematika számos más ága mellett pedig a fizikától és komputergrafikától kezdve a biológián át egészen a nyelvészetig, számtalan tudományágban használhatóak akár az elméleti leírás tömör megfogalmazására, akár a számítások megkönnyítésére vagy automatizálására.

A mátrix egyik kedvenc szava a sci-fi-íróknak is,[mj 1] azonban ezen használati módok legtöbbször még lazán sem kapcsolódnak a matematikai fogalomhoz.

Definíciók és jelölések

[szerkesztés]

A mátrix vízszintes vonalban elhelyezkedő elemei sorokat, függőleges vonalban elhelyezkedő elemei oszlopokat alkotnak. Egy m sorból és n oszlopból álló mátrixot m-szer n mátrixnak neveznek (írva: ), az m és n pozitív egész számok a mátrix dimenziói. A mátrix dimenzióit mindig először a sorok számával, majd azt követően az oszlopok számával adják meg. Az A mátrix jelölése:

A mátrixnak az -edik sorában és -edik oszlopában lévő elemét a mátrix -edik elemének nevezik, jelölése vagy . Mindig először a sorszám, majd az oszlopszám szerepel.

Az m × n méretű mátrixot gyakran így jelölik: , a mátrix minden elemét -vel jelölik, ahol és . Konvenció, hogy a mátrixokat nagybetűvel, a mátrix elemeit pedig kisbetűvel jelölik. Szokás szerint a mátrix sorainak és oszlopainak számozása 1-gyel kezdődik – noha vannak számítógépes programok, melyek nullával kezdenek. A legtöbb programozási nyelv szintén nullától indexel. Azokat a mátrixokat, melyek egyik dimenziója 1, vektornak szokták nevezni. A sorvektornak csak egy sora van:

,

az oszlopvektornak pedig egyetlen oszlopa:

Az 1×1-es mátrixot skalárnak hívjuk.

Tisztán matematikai igényű definíció

[szerkesztés]

Ha gyűrű (általában kommutatív gyűrű vagy test), akkor az -es mátrixok halmazán a

típusú, véges ( elemszámú) értelmezési tartományú, -be képező függvények halmazát értjük. Itt a halmazok Descartes-szorzata, rendezett pár.

Példák

[szerkesztés]

Az A mátrix egy 4×3-as mátrix. Az vagy elem a 7.

Az R mátrix egy 1×9-es mátrix vagy 9 elemű sorvektor.

Műveletek mátrixokkal

[szerkesztés]

Transzponálás

[szerkesztés]
A transzponálást kétszer egymás után végrehajtva visszakapjuk az eredeti mátrixot

A transzponálás egy argumentumú művelet. Egy mátrix transzponálása sorainak és oszlopainak a felcserélését jelenti. Egy m×n-es mátrix transzponáltja n×m-es. Kétszer végrehajtva visszakapjuk az eredeti mátrixot. A transzponálás jele vagy .

Egy mátrix szimmetrikus, ha transzponáltja önmaga, azaz . Szimmetrikus mátrix csak négyzetes mátrix lehet.

Példa

[szerkesztés]

Összeadás

[szerkesztés]

Csak azonos dimenziójú mátrixok adhatók össze. Legyen és két azonos dimenziójú, -es méretű mátrix. Az összeget úgy képezzük, hogy az azonos helyen lévő elemeket összegezzük (vagyis ).

Példa

[szerkesztés]

Tulajdonságai

[szerkesztés]
  • Kommutatív:
  • Asszociatív:

Skalárral való szorzás

[szerkesztés]

Az mátrix egy skalárral való szorzatát úgy számítjuk, hogy minden elemét megszorozzuk a számmal (vagyis ).

Ha a skalárt -es mátrixnak tekintjük, akkor a skalárral való szorzás speciális Kronecker-szorzat.

Példa

[szerkesztés]

Tulajdonságai

[szerkesztés]
  • (bármelyik oldalról szorozhatunk a skalárral)

Az összeadás viszonyában teljesül még a

  • (mindkét oldali) disztributivitás:

Mátrixszorzás

[szerkesztés]

Két mátrix szorzata akkor definiált, ha a bal oldali mátrix oszlopai száma megegyezik a jobb oldali mátrix sorainak számával. Ha egy -es, pedig egy -s mátrix, mátrixszorzatuk egy méretű ( sorból, oszlopból álló) mátrix lesz, melynek elemei így számíthatók:

minden -re és -re.

Példa

[szerkesztés]

illetve a megfelelő sort a megfelelő oszloppal történő szorzást kidomborítandó:

ahol például az eredménymátrix 5-ös elemét úgy kaptuk, hogy a sorában lévő (1,0,2) elemeket páronként összeszoroztuk az oszlopában lévő (3,2,1) elemekkel, majd összeadtuk őket.

Tulajdonságai

[szerkesztés]
  • asszociativitás: minden -es , -es és -s mátrixra. Ezt a tulajdonságot kihasználva optimalizálni lehet a mátrixszorzást. A leghatékonyabb zárójelezés megtalálása nevezetes optimalizációs probléma.
  • jobb oldali disztributivitás: minden -es és , valamint -s mátrixra.
  • bal oldali disztributivitás: minden -es , valamint -s mátrixra.

Fontos tudni, hogy a kommutativitás általában nem teljesül; vagyis adott és összeszorozható mátrixra általában igaz, hogy .

A négyzetes mátrixok összeszorozhatók önmagukkal, ezért magasabb hatványaik is képezhetők. Skalár együtthatós polinomba is behelyettesíthetők; ekkor a konstans tagot a permanenciaelv alapján nulladik hatványnak definiált megfelelő méretű egységmátrixszal szorozzák össze. A polinomok segítségével más függvényeik is approximálhatók hatványsorok segítségével. Ezekhez a számításokhoz a mátrix Jordan-normálalakját használják, mert azzal egyszerűbb számolni.

Az ugyanolyan hosszú sor- és oszlopvektorok kétféleképpen is összeszorozhatók mátrixszerűen. Az egyik szorzat egy skalár, ami éppen a vektorok skaláris szorzata, a másik egy négyzetes mátrix, a vektorok diadikus vagy tenzorszorzata.

C nyelvű kódpélda

[szerkesztés]

Két mátrix összeszorzásának kódja C-ben önálló programként kiíratással:

#include <stdio.h>
#include <stdlib.h>

void mtxfree(double **mtx, int rows)
{
	int i;
	for (i = 0; i < rows; ++i)
	{
		free(mtx[i]);
	}
	free(mtx);
}

int main() {
	int m, n, k; /* m oszlop, n sor (k oszlop) */
	int i, j, p;
	int sum;
	double **A, **B, **AB; /* Dinamikus helyfoglalás */

	printf("A matrix merete: ");
	fflush(stdout);
	scanf("%d%d", &n, &m);
	printf("B matrix oszlopai: ");
	fflush(stdout);
	scanf("%d", &k);
	printf("B matrix sorainak szama igy: %d\n", m);

	A = (double**)calloc(n, sizeof(double*));
	if (A == NULL) {
		return 1;
	}
	for (i = 0; i < n; ++i)
	{
		A[i] = (double*)calloc(m, sizeof(double));
		if (A[i] == NULL) {
			mtxfree(A, i); /* már sikeresen lefoglalt memória felszabadítása */
			return 1;
		}
	}
	B = (double**)calloc(m, sizeof(double*));
	if (B == NULL) {
		mtxfree(A, n);
		return 1;
	}
	for (i = 0; i < m; ++i)
	{
		B[i] = (double*)calloc(k, sizeof(double));
		if (B[i] == NULL) {
			mtxfree(A, n);
			mtxfree(B, i);
			return 1;
		}
	}
	AB = (double**)calloc(n, sizeof(double*));
	if (AB == NULL) {
		mtxfree(A, n);
		mtxfree(B, m);
		return 1;
	}
	for (i = 0; i < n; ++i)
	{
		AB[i] = (double*)calloc(k, sizeof(double));
		if (AB[i] == NULL) {
			mtxfree(A, n);
			mtxfree(B, m);
			mtxfree(AB, i);
			return 1;
		}
	}

	printf("Adja meg az A matrixot:\n");
	for (i = 0; i < n; ++i) /* A mátrix feltöltése */
	{
		for (j = 0; j < m; ++j)
		{
			scanf("%lf", &A[i][j]);
		}
	}

	printf("Adja meg a B matrixot:\n");
	for (i = 0; i < m; ++i) /* B mátrix feltöltése */
	{
		for (j = 0; j < k; ++j)
		{
			scanf("%lf", &B[i][j]);
		}
	}

	printf("A matrix:\n");
	for (i = 0; i < n; ++i) /* A mátrix kiíratása */
	{
		for (j = 0; j < m; ++j)
		{
			printf("%0.5lf ", A[i][j]);
		}
		printf("\n");
	}

	printf("B matrix:\n");
	for (i = 0; i < m; ++i) /* B mátrix kiíratása */
	{
		for (j = 0; j < k; ++j)
		{
			printf("%0.5lf ", B[i][j]);
		}
		printf("\n");
	}

	for (i = 0; i < n; ++i)
	{
		for (j = 0; j < k; ++j)
		{
			sum = 0;
			for (p = 0; p < m; ++p)
			{
				sum += A[i][p]*B[p][j];
			}
			AB[i][j] = sum;
		}
	}

	printf("\nEredmenymatrix:\nAB=\n");
	for (i = 0; i < n; ++i) /* AB mátrix kiíratása */
	{
		for (j = 0; j < k; ++j) {
			printf("%0.5lf  ", AB[i][j]);
		}
		printf("\n");
	}

	mtxfree(A, n);
	mtxfree(B, m);
	mtxfree(AB, n);

	return 0;
}

Diadikus szorzás

[szerkesztés]

Az n-dimenziós valós vektortér és vektorainak diadikus szorzatán értjük és -vel jelöljük azt a tenzort, mely a vektortérbe tartozó minden egyes vektorhoz az vektort rendeli.

Hadamard-szorzat

[szerkesztés]

Két mátrix elemenkénti szorzatát Hadamard- vagy Schur-szorzatnak hívják, elemei:

Egy explicit példán:

A Hadamard-szorzat kommutatív, asszociatív és az összeadásra nézve disztributív.

Kronecker-szorzás

[szerkesztés]

Ha -es és -es mátrix, akkor a Kronecker-szorzat nem más, mint

azaz az mátrix minden elemét megszorozzuk a mátrixszal, és ebből képezünk egy új mátrixot, aminek mérete .

Hogyha és rendre a és a , lineáris leképezéseket reprezentálják, akkor a tenzorszorzatot reprezentálja.

Használják a regressziós analízisben és a kvantummechanikában.

Invertálás

[szerkesztés]

Az invertálás csak a nem nulla determinánsú mátrixokra értelmezett. Vagyis, ha egy -es mátrixra , akkor létezik egy mátrix, amire , ahol az -es identitásmátrix. Ezeket a mátrixokat invertálhatóknak nevezzük, míg a többit szingulárisnak.

A szinguláris mátrixokhoz nem tartozik ilyen mátrix. Ehelyett az inverzhez hasonló módon pszeudoinverzet definiálnak, ahol a szorzatról csak azt kötik ki, hogy szimmetrikus legyen:

Tipikusan ez egy diagonális mátrix, a főátlóján 1 és 0 értékekkel.

Speciálisan vektorok esetén további műveletek is léteznek.

Mátrix rangja

[szerkesztés]

Az -s mátrix rangja a mátrix lineárisan független oszlopainak maximális száma. Igazolható, hogy ez egy jól definiált természetes szám és megegyezik a mátrix lineárisan független sorainak maximális számával (a sorrang tehát egyenlő az oszlopranggal). Másként úgy is fogalmazhatunk, hogy a rang a mátrix oszlopvektorai által kifeszített altér dimenziója a vektortérben ( az a test, ahonnan a mátrix elemeit vesszük). Tehát a rang:

ahol az A mátrix oszlopai vektorokként.

Négyzetes mátrix

[szerkesztés]

A négyzetes mátrix olyan mátrix, melyben a sorok és oszlopok száma megegyezik. Egy adott test feletti összes n×n-es négyzetes mátrix a skalárral való szorzással, mátrixösszeadással és mátrixszorzással algebrát alkot. Az n>1 esetben az algebra általában nem kommutatív.

Egy A mátrix főátlója az alakú elemeket tartalmazza, tehát azokat, amelyek ugyanannyiadik sorban vannak, mint oszlopban. (Főátlónak tehát a bal fölső és a jobb alsó sarkot összekötő átlót hívjuk.)

Diagonális mátrix

[szerkesztés]

A diagonális mátrix avagy diagonálmátrix olyan négyzetes mátrix, amelynek minden főátlón kívüli eleme 0. (A nullmátrix is ide tartozik.)

Példa: egy harmadrangú (n=3) diagonális mátrix:

Egységmátrix

[szerkesztés]

Az egységmátrix olyan négyzetes mátrix, melynek elemei a főátlóban egységnyiek, összes többi eleme 0, azaz olyan diagonálmátrix, melynek főátlóbeli elemei egységnyiek. Az egységmátrix kielégíti az alábbi egyenlőségeket: és minden -es mátrixra és -s mátrixra.

Példa: ha :

Az egységmátrix a négyzetes mátrixok gyűrűjének egységeleme.

Invertálhatóság

[szerkesztés]

A gyűrű invertálható elemeit invertálható mátrixnak vagy nem-szinguláris mátrixnak hívják. Egy -es mátrix akkor és csakis akkor invertálható, ha létezik egy olyan mátrix, melyre igaz: . Ebben az esetben a B mátrix az A mátrix inverz mátrixa és -nel jelölik.

Determinánsképzés

[szerkesztés]

Az A négyzetes mátrix determinánsa

képlettel adható meg, ahol a permutációkra kell összegezni és a permutáció inverzióinak számát jelöli: azon párokét, amikre , de .

Invertálható mátrixok determinánsa nullától különbözik.

További jellemzők

[szerkesztés]

Ha egy szám és egy nemzéró vektor, melyre igaz az, hogy , akkor -t az mátrix sajátvektorának, -t pedig a hozzá tartozó sajátértékének nevezik.

Az A négyzetes mátrix karakterisztikus polinomja a polinom. Ez n×n-es A esetén n-edfokú polinom, melynek főegyütthatója , konstans tagja pedig A determinánsa. A Cayley–Hamilton-tétel szerint az A mátrix gyöke a polinomnak. A szám akkor és csakis akkor sajátértéke A mátrixnak, ha nem invertálható, azaz ha . Így gyökei pontosan A sajátértékei.

A Gauss-elimináció algoritmusának alapvető fontossága van: ezt lehet használni mátrixok determinánsának, rangjának és inverzének számítására, valamint lineáris egyenletrendszerek megoldására.

Egy négyzetes mátrix nyoma (angol kifejezéssel trace-e, vagy német szóval spurja) a főátlójában lévő elemek összege, ez mindig egyenlő az n sajátértékeinek összegével.

Az A négyzetes mátrix hasonló a B négyzetes mátrixhoz, ha létezik olyan C négyzetes mátrix, melyre

Jelölésben:

vagy

A hasonló mátrixok sajátértékei egyenlők, továbbá a mátrixok hasonlósága nagyon jó példája az ekvivalenciarelációnak.

Komplex mátrix

[szerkesztés]

Komplex mátrixnak nevezzük a mátrixot, ha elemei között komplex számok is előfordulhatnak.

Példa: Komplex mátrix például az ahol i az imaginárius egység.

Vektorterek

[szerkesztés]

Ha kommutatív, egységelemes gyűrű, akkor a fölötte definiált n×m-es mátrixok a mátrixösszeadásra és a skalárral való szorzásra modulust alkotnak R fölött. Az mátrixszorzat nyoma

skalárszorzat a mátrixok tere fölött.

Speciálisan, ha az alapgyűrű test, akkor a mátrixok euklideszi teret alkotnak. Ha n=m, akkor a térben a szimmetrikus és a ferdén szimmetrikus mátrixok alterei ortogonálisak, tehát .

A komplex mátrixok szorzatának nyoma

a Hilbert-Schmidt-skalárszorzat, amivel a tér unitér tér lesz. Az általa indukált norma a Frobenius-norma, amivel a mátrixok tere Banach-tér.

A négyzetes mátrixok alkotta mátrixgyűrűkben az egységelem az identitásmátrix. Általánosságban, a főátlóján az alapgyűrű egységeleme, azon kívül nulleleme áll; számtestek esetén a főátlón egyeseket, azon kívül nullákat tartalmaz. A csupa nullelemet, illetve nullákat tartalmazó mátrix a nullmátrix, ami a mátrixgyűrű nullelemeként szolgál.

Alkalmazások

[szerkesztés]

Mátrixegyenletek átalakítása

[szerkesztés]

A statisztikában a magasabb dimenziós tételeket, eljárásokat, objektumokat gyakran mátrixokkal adják meg, és a számításokat, bizonyításokat ebben az alakban végzik. Mátrixegyenletek keletkeznek differenciálegyenletek diszkretizálásakor is.

Az egyenletek átalakításakor figyelembe kell venni, hogy a mátrixszorzás nem kommutatív, és hogy léteznek nullosztók. Osztás helyett például az inverzzel kell szorozni a megfelelő oldalról.

Egy egyszerű egyenlet:

Ha az mátrix invertálható, akkor szorozhatunk az inverzzel:

így kapjuk az

megoldást.

Lineáris leképezések koordinátás ábrázolása

[szerkesztés]

Egy adott gyűrű fölött definiált mátrixok kapcsolódnak a gyűrű fölötti modulusokhoz. Ha , akkor a értelmezési tartomány és a képtér (értékkészlet) egy rögzített bázisában az mátrix egy lineáris leképezést ábrázol, ahol is az bázisát a képtér bázisának a sorok szerinti lineáris kombinációjába viszi. Azaz, ha az ábrázolt lineáris leképezés , akkor a -edik oszlopban a vektor képének koordinátái állnak. A leképezés az értelmezési tartomány egy tetszőleges vektorát az vektorba viszi.[1]

Megfordítva, minden lineáris leképezés ábrázolható mátrixszal a fenti bekezdés megfordításaként. Tehát, ha nincs eleve adott bázis a mag- és a képtérben, akkor először választunk egy bázist, majd megnézzük az értelmezési tartomány bázisának képvektorait a képtér bázisában. Ezt az összefüggést kanonikus izomorfizmusnak nevezzük a lineáris leképezések és a mátrixok között:

adott , és esetén. A mátrixszorzás szintén megfelel a lineáris leképezések kompozíciójának, vagyis „szorzatának”. Ez asszociatív, ami egy újabb bizonyítást ad a mátrixszorzás asszociativitására.

Ha kommutatív egységelemes gyűrű, akkor modulus helyett szabad -modulusokat tekinthetünk. Ha test, akkor tetszőleges véges dimenziós fölötti és vektorterek izomorfak egy bázis választásával -nel és -mel valamely -re és -re, ahol és a és terek dimenziói. Ha bázisa -nek és bázis -ben, akkor tetszőleges vektor egyértelműen előáll alakban, és hasonlók tudhatók W vektorairól is. Az itt megjelenő testelemek a vektor koordinátái, és

az koordinátavektora.

Hogyha lineáris leképezés, akkor bázisvektorainak képei előállnak a bázisvektorainak lineáris kombinációjaként:

a

koordinátavektorral. Ekkor a leképezés egyértelműen ábrázolható az

mátrixszal. A mátrix függ a terek bázisaitól. Beszorzáskor a bázisvektorokat a bázisvektorok váltják fel.

Két lineáris leképezés, és szorzatát a

mátrixs ábrázolja, feltéve, hogy a bázis közös. Eszerint a -ből -be menő lineáris leképezések halmaza izomorf -nel. Az izomorfia azonban a bázisoktól függ, ezért nem kanonikus.

Legyenek a , és a tér egy másik bázisa. Az adott leképezés ebben a bázisban is ábrázolható. Ez az ábrázolás a korábbi bázisból mátrixszorzással számítható, mégpedig az értelmezési tartomány bázisának megváltozásakor balról kell szorozni egy -es mátrixszal, míg a képtér bázisváltásához egy -es mátrixszal jobbról. Ez a szorzási szabály kétszeri alkalmazásával látható be:

ahol is az és identitásmátrixok mindent önmagára képeznek le.

Ha a bázistranszformáció egyes tulajdonságokat érintetlenül hagy, akkor azokat érdemes bázisfüggetlenül a lineáris leképezésnek tulajdonítani. Egy ilyen tulajdonság test fölött a rang, ami a képtér dimenzióját adja meg. Teljes rang esetén a leképezést ábrázoló mátrixok invertálhatók.

A determinánst csak négyzetes mátrixokra definiálják. Ekkor a két tér dimenziója megegyezik, tehát, mivel az azonos dimenziójú vektorterek izomorfak, feltehető. Hogyha az értelmezési és a képtartományban ugyanazt a bázistranszformációt végezzük, akkor

és a determináns is megmarad. A determináns akkor és csak akkor nem nulla, ha a leképezés teljes rangú.

Végtelen dimenziós terek

[szerkesztés]

Végtelen dimenziós terekben is teljesül, hogy tetszőleges lineáris leképezést meghatározzák U egy tetszőleges bázisának képvektorai. Ebben az esetben azonban megszokottabb a lineáris operátor elnevezés. Amennyiben korlátos, kiterjeszthető az egész U-ra. Ha most bázis -ben, akkor egyértelműen előáll elemeinek lineáris kombinációjaként, ahol az együtthatók közül véges sok nullától különböző testelem van, így

Test helyett vehető ferdetest is. Így minden korlátos lineáris operátor felfogható végtelenszer végtelen mátrixként, ami extrém ritka, ugyanis a végtelen sok eleme között csak véges sok különbözik nullától. A lineáris transzformációk szorzása ismét megfelel a mátrixszorzásnak.

A nem korlátos lineáris operátorok nem folytonosak, és legfeljebb egy sűrű altérre terjeszthetők ki. Ilyenek például függvénytereken a differenciáloperátorok. Jellemzésükben fontos szerephez jut az értelmezési tartomány. Sok tulajdonságot csak sűrűn definiált operátorokra tudunk bizonyítani.[2]

A funkcionálanalízisben topologikus vektortereket vizsgálnak, így lehet beszélni határértékről, és képezhetők végtelen sorozatok összegei is. Így vizsgálhatók olyan végtelen mátrixok is, amelyek végtelen sok nullától különböző értéket tartalmaznak, és akár egész sorok és oszlopok is teltek lehetnek. Itt bázison is valami mást értenek.

Ennek egy speciális alesetét alkotják a Hilbert-terek. Legyenek Hilbert-terek, és rendre és ortonormált bázisa. Ekkor a lineáris operátor, ahol a mátrix elemei a

testelemek, és ahol a Hilbert-tér skalárszorzata. Sűrűn definiált lineáris operátorok is hasonlóan ábrázolhatók, amennyiben az értelmezési tartománynak van ortonormált bázisa.

A Hilbert‑Schmidt-skalárszorzat csak a lineáris leképezések egy részére definiálható. Ezek a Hilbert‑Schmidt-operátorok, amelyekre a definiáló sor folytonosan konvergens.

Speciális mátrixok

[szerkesztés]

Alkalmazások

[szerkesztés]

Irodalom

[szerkesztés]

Megjegyzések

[szerkesztés]
  1. Az azonos című filmtől kezdve a Marvel képregényein és filmjein keresztül – Superman, Transformers – egészen a Star Trek: Voyagerig megszámlálhatatlan sok alkotás használta ezt a szót.

Jegyzetek

[szerkesztés]
  1. Archivált másolat. [2012. november 19-i dátummal az eredetiből archiválva]. (Hozzáférés: 2016. július 21.)
  2. Archivált másolat. [2012. szeptember 16-i dátummal az eredetiből archiválva]. (Hozzáférés: 2016. július 21.)

Források

[szerkesztés]

Online mátrix számológépek

[szerkesztés]

Freeware

[szerkesztés]