Tom matrise

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.

En tom matrise som representant for et lineært kart

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 0

Hvis 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 E

Det 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.

Egenskaper for tomme matriser

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:

I programmeringsspråk

Matlab

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-1

Programvaren 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-1

Når det gjelder produktet, har vi:

>> c*c' ans = [] >> c'*c ans = 0

Vi 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

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 :

  • [] + A == A + [] == A opp til versjon 5.5.2 og
  • [] + A == A + [] == [] fra versjon 6.0.0;
  • A*[] == []*A == [] ;
  • sum([]) == 0og prod([]) == 1 ;
  • det([]) == 0 ;
  • inv([]) == [] ;
  • cond([]) == 1.

R

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

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) 1

Merk 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

Bibliografi

  • [de Boor 1990] (en) Carl de Boor , “  En tom øvelse  ” , ACM SIGNUM Newsletter , vol.  25, n o  4,Oktober 1990, s.  2-6 ( DOI  10.1145 / 122272.122273 , les online )
  • [Nett og Haddad 1993] CN Nett og WM Haddad , “  En systemteoretisk passende realisering av det tomme matrisekonseptet  ”, IEEE Transactions on Automatic Control , vol.  38, n o  5,1993, s.  771-775 ( DOI  10.1109 / 9.277245 , les online )

Merknader og referanser

  1. de Boor 1990
  2. Se Nicolas Bourbaki , "Lineær algebra" , i Algebra , Springer , koll.  "Matematiske elementer" ( n o  II)2006, 2 nd  ed. ( les online ) , A II.139, som også snakker om "tom matrise" i tilfelle der jeg eller J er det tomme settet .
  3. Nett og Haddad 1993 , s.  771.
  4. En slik vektor er da 0-tuppel av K-elementer, og kan derfor bli identifisert som vakuumanvendelses til K, som angis av Ø K .
  5. Dette er for eksempel valget av Scilab- programvare fra versjon 5.3 til 6.0, se "  Tom matrise (Scilab 5.3.0)  " , på help.scilab.org ,26. januar 2011(åpnet 4. juni 2018 ) og “  Empty matrix (Scilab 6.0.1)  ” , på help.scilab.org ,12. februar 2018(åpnet 4. juni 2018 ) .
  6. Loren, "  Calculus with Empty Arrays  " , om The Art of Matlab ,4. november 2009(åpnet 4. juni 2018 )
  7. "  Tomme matriser  " , på octave.org (åpnet 6. juni 2018 )
  8. "  Tom matrise (Scilab 5.5.2)  " , på help.scilab.org ,1 st april 2015(åpnet 4. juni 2018 ) .
  9. "  Tom matrise (Scilab 6.0.0)  " , på help.scilab.org ,14. februar 2017(åpnet 4. juni 2018 ) .
  10. I motsetning til hva den elektroniske hjelpen nevner.