I matematikk er en tom matrise definert som en matrise der en av dimensjonene m eller n er null; de er derfor matriser med dimensjonen m × 0, 0 × n eller ellers 0 × 0.
En matrise som kan defineres abstrakt av en endelig familie av elementer i et sett K (ofte en kommutativ ring eller et felt ) indeksert av et kartesisk produkt I × J hvor I og J er endelige sett, tilsvarer en tom matrise tilfellet der enten jeg eller J er det tomme settet .
Disse matrisene er nyttige for å arbeide med null mellomrom K 0 (K er hvilket som helst kommutativt felt, vanligvis ℝ eller ℂ). De gjør det derfor mulig å bruke matrisene til dette trivielle vektorområdet. Fra et praktisk synspunkt utvider tomme matriser gyldigheten av setninger til å begrense tilfeller; de tillater for eksempel bruk av dynamiske ligninger for statiske situasjoner. I informatikk kan en tom matrise være resultatet av et mislykket søk, eller det kan forekomme i begynnelsen eller slutten av en iterativ algoritme; utvidelse av reglene for algebra for å begrense tilfeller av tomme matrikser gjør det derfor mulig å unngå å behandle disse tilfellene som unntak.
Nullrommet K 0 inneholder bare ett element, den "tomme vektoren" (vektoren har ingen koordinater). Et vektorrom som nødvendigvis har et nøytralt element , denne tomme vektoren er nullvektoren til K 0 bemerket 0 K 0 :
K 0 = {0 K 0 }Nullrommet har dimensjon 0. Vurder nå ethvert K-vektorrom E. Det er bare ett lineært kart fra E til K 0 , det som transformerer en hvilken som helst vektor av E til denne nullvektoren (dette er nullkartet ). Settet med lineære kart fra E til K 0 er derfor en singleton .
L (E, K 0 ) = {ƒ E, K 0 } med ƒ E, K 0 : E → K 0 x ↦ 0 K 0Hvis vi kaller n dimensjonen E, så eksisterer det en entydig matrise av dimensjonen n x 0 som representerer denne unike lineær transformasjon, er det en tom matrise som vi kan betegne () n , 0 .
På samme måte er det bare ett lineært kart over K 0 i E, bildet av K 0 ved dette kartet er nullvektoren til E siden det unike elementet i K 0 er nullvektoren (det er derfor også nullapplikasjonen). Settet med lineære kart fra K 0 til E er også en singleton.
L (K 0 , E) = {ƒ K 0 , E } med ƒ K 0 , E : K 0 → E x ↦ 0 EDet er derfor en unik matrise med dimensjonen 0 × n som representerer dette lineære kartet, den tomme matrisen () 0, n .
Som en representant for et nullkart er en tom matrise en nullmatrise:
() n , 0 = 0 n , 0 ; () 0, n = 0 0, n .Den tomme matrisen med dimensjonen 0 × 0, som vi kan betegne () 0, 0 , representerer spesielt identiteten Id 0 til nullrommet. Det er derfor en inverterbar (vanlig) matrise, derfor firkantet. Siden det også representerer nullapplikasjonen, har vi derfor:
() 0, 0 = Id 0 = 0 0, 0 ,det vil si i nullringen av matriser med dimensjonen 0 × 0, er det unike elementet nøytralt for både produktet og summen.
I det følgende betegner vi "()" for å betegne en tom matrise av en hvilken som helst dimensjon () n , 0 , () 0, n eller () 0, 0 .
Når det gjelder summen: tilsetning av matriser er en intern komposisjonslov , matriser har derfor nødvendigvis samme dimensjon. Dermed kan man bare skrive “A + ()” eller “() + A” hvis A i seg selv er en identisk tom matrise, resultatet blir derfor også en tom matrise.
For den tomme matrisen med dimensjonen 0 × 0:
Fram til versjon 4 aksepterte Matlab bare en bemerket tom matrise []. Fra versjon 5 skiller den mellom tomme matriser 0 × 0 (betegnet []), 0 × 1 og 1 × 0. Vi kan få en tom matrise 0 × 1 ved
>> zeros(0, 1) ans = Empty matrix: 0-by-1 >> a = ones(3, 2) a = 1 1 1 1 1 1 >> b = zeros(3, 2) b = 0 0 0 0 0 0 >> c = find(a<b) c = Empty matrix: 0-by-1Programvaren kontrollerer kompatibiliteten til dimensjonene til de tomme matrisene for produktet og summen. Hvis vi legger til en skalar i den tomme matrisen - som i Matlab tilsvarer å legge skalaren til alle elementene i den tomme matrisen - returnerer Matlab den tomme matrisen.
>> 5 + c c = Empty matrix: 0-by-1Når det gjelder produktet, har vi:
>> c*c' ans = [] >> c'*c ans = 0Vi har sum(c) == 0og sum(c) == 1fordi de er de nøytrale elementene i henholdsvis summen og produktet.
Bare den tomme 0 × 0-matrisen anses å være firkantet og inverterbar. Vi har da det([]) == 1, inv([]) == []og cond([]) == 0.
GNU Octave har også disse tre tomme matrisene med lignende oppførsel.
Scilab- programvaren definerer bare en enkelt bemerket tom matrise []. Det forrige eksemplet gir i Scilab:
--> zeros(0, 1) ans = [] --> a = ones(3, 2) a = 1. 1. 1. 1. 1. 1. --> b = zeros(3, 2) b = 0. 0. 0. 0. 0. 0. --> c = find(a<b) c = []Programvaren autoriserer produktet og summen med en tom matrise uten å sjekke dimensjonene. Vi har :
R- programvaren lar deg lage tomme matriser av alle størrelser. For eksempel :
> M <- matrix(, nrow = 3, ncol = 0) # matrice vide 3 × 0 > print(M) [1,] [2,] [3,] > sum(M) [1] 0 > prod(M) [1] 1 > N <- aperm(M, c(2, 1)) # transposée, matrice vide 0 × 3 > print(N) [,1] [,2] [,3] > N %*% M # produit matriciel <0 x 0 matrix> > M %*% N [,1] [,2] [,3] [1,] 0 0 0 [2,] 0 0 0 [3,] 0 0 0 > O <- matrix(, nrow = 0, ncol = 0) # matrice vide 0 × 0 > print(O) <0 x 0 matrix> > det(O) # déterminant [1] 1 > A <- matrix(1:6, nrow=2) # matrice 2 × 3 > print(A) [,1] [,2] [,3] [1,] 1 3 5 [2,] 2 4 6 > A %*% M [1,] [2,]Maxima- programvaren lar deg bare lage tomme kolonnematrikser () n , 0 og den tomme firkantmatrisen () 0, 0 :
(%i1) A:matrix() (%o1) matrix() (%i2) length(A) (%o2) 0 (%i3) B:matrix([], [], []) ┌ ┐ │ │ (%o3) │ │ │ │ └ ┘ (%i2) length(B) (%o2) 3 (%i5) transpose(B) (%o5) matrix() (%i6) C:matrix([]) (%o6) matrix([]) (%i7) length(C) (%o7) 1Merk at det matrix()er matrisen () 0, 0 ; Maxima er ikke konsistent siden charpoly(A, x), som beregner det karakteristiske polynomet til en matrise, returnerer en feil som indikerer at A ikke er kvadratisk, men har dimensjonen 1 × 0. Uttrykket matrix([])gir 1 × 1-matrisen som inneholder vektoren tom og som for Maxima, er forskjellig fra matrix(). Transponeringen av en matrise () n , 0 gir matrisen () 0, 0