Informatie en data die op een computerarchitectuur zijn opgeslagen, staan in de vorm van matrices. Daarom liggen aan de basis van de meeste wetenschappelijke berekeningen en machine learning matrices met verschillende dimensies.
Matrices zijn fundamentele wiskundige objecten in de lineaire algebra. Matrices hebben zelf enkele eigenschappen, zoals dimensie, spaarzaamheid (sparsity), eigenwaarden en determinanten.
Een determinant is een fundamentele eigenschap van een vierkante matrix die een belangrijke directe en indirecte rol speelt bij matrixbewerkingen, zoals invertibiliteit, het oplossen van lineaire stelsels in de techniek en transformaties in geometrie en computergraphics.
In dit artikel leer je over de determinanten van een vierkante matrix, hun toepassingen en enkele methoden om ze met de hand en met Python- en R-programma’s te berekenen.
Wat is een determinant?
Een determinant is een functie die een vierkante matrix afbeeldt op een reële scalair (één waarde). In de wiskunde wordt de determinant van een vierkante matrix A weergegeven als det(A) of |A|.
Net als de wiskunde zelf heeft de determinant een lange geschiedenis die teruggaat tot Chinese wiskundigen. In het oude China gebruikten wiskundigen determinanten om stelsels van lineaire vergelijkingen op te lossen (hun oplossingsmethode staat nu bekend als de regel van Cramer). Later in het 16e-eeuwse Europa bracht de wiskundige Cardano determinanten onder de aandacht door ze toe te passen bij het oplossen van stelsels lineaire vergelijkingen. Vervolgens legden Takakazu (17e eeuw), Leibniz (17e eeuw), Vandermonde en Cauchy (18e eeuw) de theoretische basis van determinanten in de zuivere wiskunde.
Eigenschappen van determinanten
Hoewel determinanten voor elke vierkante matrix moeten worden berekend, hebben ze in het algemeen en voor sommige specifieke matrices bekende eigenschappen. Daarnaast vertonen determinanten onder bepaalde wiskundige bewerkingen ook patronen en eigenschappen. Enkele van de bekende eigenschappen van determinanten zijn als volgt:
De determinant van een vierkante identiteitsmatrix is 1
Een identiteitsmatrix heeft 1’en op de diagonaal en 0 elders.
Wisselen van twee rijen of kolommen verandert het teken van de determinant
Bijvoorbeeld, in de volgende matrix is de determinant:
Als we de rijen omwisselen, verandert het teken van het resultaat.
De determinant van driehoeksmatrices is gelijk aan het product van de diagonaalelementen
Als een matrix onder- of bovendiagonaal (triangulair) is, hoeven we voor de determinant alleen de diagonaalwaarden met elkaar te vermenigvuldigen. Bijvoorbeeld, in de volgende bovendiagonale vierkante matrix wordt de determinant berekend door de diagonaalwaarden te vermenigvuldigen:
We vermenigvuldigen eenvoudig de diagonaalelementen om de determinant te berekenen: det(U)=2×4×6=48
De determinant is invariant onder matricesimilariteit
Twee matrices zijn vergelijkbaar (similar) als ze voortkomen uit één lineaire transformatie en verschillende basissen hebben. Als twee matrices vergelijkbaar zijn, dan hebben ze dezelfde determinant (en eigenwaarden, sporen en karakteristieke polynomen).
De determinant van een matrixproduct is het product van de determinanten van de matrices
Als voorbeeld worden hier de afzonderlijke determinanten van matrices A en B getoond:
Determinanten zijn invariant onder transponeren
Bijvoorbeeld, de determinant van matrix A en AT is hetzelfde (-9).
Methoden om determinanten te berekenen
Er zijn verschillende methoden om de determinant van een vierkante matrix te berekenen, zoals de Leibniz-formule, Laplace-expansie en Gauss-eliminatie. De keuze van de methode hangt af van de grootte van de matrix en de rekenkosten. We beschrijven hieronder enkele van deze methoden:
Leibniz-formule
De Leibniz-formule om de determinant van een vierkante matrix te vinden is het meest geschikt voor kleine matrices, zeker als de berekening geheel of gedeeltelijk met de hand gebeurt. De Leibniz-formule om de determinant van een matrix te vinden is als volgt:
Waar Sn de verzameling is van alle permutaties van de getallen 1,2,…,n en sgn(σ) het teken van de permutatie is, dat +1 is als de permutatie even is en −1 als de permutatie oneven is. De term ai,σ is een element van de matrix A.
Laplace-expansie
Laplace-expansie is ideaal voor grotere matrices. Bij Laplace- of cofactorexpansie wordt een grote matrix opgedeeld in kleinere matrices. Vervolgens wordt een schema opgezet met de determinant (minor) van een kleinere matrix en de bijbehorende cofactor, dat over rijen of kolommen wordt doorlopen.
Gauss-eliminatie
Omdat de determinant van een driehoeksmatrix het product is van de diagonaalelementen, maakt het reduceren van een matrix tot een diagonale (of bovendiagonale) matrix de berekening van de determinant efficiënter. Bij Gauss-eliminatie worden een reeks rijoperaties uitgevoerd om de volledige matrix te reduceren tot de rij-echelon- of bovendiagonale vorm. Vervolgens wordt de determinant berekend door de diagonaalelementen te vermenigvuldigen.
De determinant vinden voor matrices van verschillende grootte
In de volgende voorbeelden passen we elk van de bovenstaande methoden toe op matrices van verschillende grootte om de determinanten te vinden.
De determinant vinden voor een 2x2-matrix
De determinant van een 2x2-vierkante matrix is het makkelijkst te onthouden en te berekenen. Als we een 2x2-matrix A noteren als:
Dan is det(A) = (a x d) - (b x c). Bijvoorbeeld, voor matrix B hieronder:
De determinant vinden voor een 3x3-matrix
Hoewel er een formule is voor de berekening van een 3x3-vierkante matrix, laten we om didactische redenen in dit voorbeeld de Laplace- (cofactor)expansie zien. We berekenen de determinant van matrix A hieronder:
De determinant vinden voor een 4x4-matrix
We grijpen nu de kans aan om de Gauss-eliminatiemethode te laten zien om de determinant van de 4 x 4-matrix A hieronder te berekenen:
We transformeren deze matrix naar een bovendiagonale matrix door rijoperaties uit te voeren.
We krijgen,
Nog één rijoperatie:
We krijgen,
En de determinant is het product van de diagonaalelementen:
Geometrische en algebraïsche betekenis
Zoals we hierboven definieerden, is een determinant een functie die een vierkante matrix afbeeldt op een reëel getal.
In de geometrie bestaat een vierkant uit twee zijden, waarvan het product de oppervlakte is. En met drie zijden krijgen we het volume. De (absolute waarde van de) determinant van een 2 x 2-matrix kan worden geïnterpreteerd als de oppervlakte van een parallellogram gevormd door de twee kolommen van de matrix (als richtingsvectoren), en de getekende determinant van een 3 x 3-matrix kan worden geïnterpreteerd als het volume van een parallellepipedum (driedimensionaal lichaam).
Bij grafische transformaties, zoals het uitrekken of verkleinen van een afbeelding, laat de determinant van de getransformeerde afbeelding zien of de oppervlakte van de oorspronkelijke afbeelding (matrix) na transformatie is veranderd of niet (het principe van Cavalieri), terwijl de eigenwaarden aangeven of de afbeelding is uitgerekt of verkleind met of zonder verandering van de oppervlakte.
Determinanten kunnen ook aangeven of kolommen of rijen van een matrix lineaire combinaties van elkaar zijn (redundantie) of dat ze lineair onafhankelijk zijn en elk unieke informatie bevatten. Als de determinant van een matrix ongelijk aan nul is, concluderen we dat de kolommen of rijen van de matrix lineair onafhankelijk zijn. Als de determinant nul is, laat dat zien dat de kolommen (of rijen) van de matrix lineair afhankelijk zijn.
Tot slot worden determinanten ook gebruikt bij het formuleren van het karakteristieke polynoom voor het berekenen van de eigenwaarden.
De determinant in Python en R
Hoewel determinanten met de hand berekenen een waardevolle leerervaring is om onze wiskundige vaardigheden aan te scherpen en wiskundige verfijning te ontwikkelen, kunnen tijds- en energierestricties er uiteindelijk toe leiden dat we een rekenmachine of een programmeertaal zoals Python of R gebruiken. Zowel Python als R bieden bibliotheken, functies of methoden om de determinant van een matrix te berekenen. In de volgende codefragmenten laten we zien hoe je de determinant van een matrix berekent met Python en R.
Python-voorbeeld
Twee populaire Python-pakketten voor het berekenen van de determinant van een matrix zijn Numpy en Sympy (Symbolic Python). In het volgende codefragment laten we zien hoe je de determinant berekent met de Numpy- en Sympy-bibliotheken in Python.
# Computing determinant using Numpyimport numpy as np
matrix = np.array([[1,2],[3,4]])
determinant = np.linalg.det(matrix)print("Determinant:", determinant)# Computing determinant using Sympy# Import the necessary libraryimport sympy as sp
matrix = sp.Matrix([[1,2],[3,4]])
determinant = matrix.det()print("Determinant:", determinant)Mogelijk gemaakt door
R-voorbeeld
Voor het berekenen van de determinant van een matrix in R is het niet nodig een bibliotheek te laden. Base R biedt een ingebouwde functie om de determinant van een matrix te berekenen, zoals te zien is in het volgende R-codefragment:
matrix <- matrix(c(1,2,3,4), nrow =2, ncol =2)
determinant <- det(matrix)
print(paste("Determinant:", determinant))Mogelijk gemaakt door
Toepassingen van determinanten
Lineaire stelsels
Determinanten kunnen direct worden gebruikt bij het oplossen van een stelsel lineaire vergelijkingen met de regel van Cramer. Volgens de regel van Cramer construeren we eerst een matrix die bestaat uit de coëfficiënten van de onbekenden in het vergelijkingenstelsel en berekenen we de determinant daarvan. Vervolgens vormen we voor elke onbekende een matrix en berekenen we de determinant daarvan. De verhouding van de determinant van de nieuwe matrix tot die van de oorspronkelijke matrix is de waarde van de onbekende.
Differentiaalvergelijkingen
Een differentiaalvergelijking kan meerdere oplossingen (functies) hebben. Om zeker te zijn dat de oplossingen lineair onafhankelijk (uniek) zijn, worden de determinanten van de verzameling oplossingsfuncties, de zogenoemde Wronskiaan, berekend. Een niet-nul Wronskiaan duidt erop dat de functies/oplossingen lineair onafhankelijk zijn in het gegeven interval.
Geometrie
In de geometrie kan de determinant van een 2 x 2-matrix worden geïnterpreteerd als de oppervlakte van een parallellogram, en de determinant van een 3 x 3-matrix als het volume van een vast lichaam (parallellepipedum). Determinanten bij afbeeldingsfuncties met meerdere variabelen kunnen ons helpen te begrijpen of de afbeelding de oppervlakte of het volume van de functies heeft beïnvloed met behulp van de determinant van de Jacobiaanmatrix.
Belangrijke punten om te onthouden
Determinanten spelen een meer indirecte rol in machine learning, statistiek en wetenschappelijk rekenen. Toch kan inzicht in hoe stelsels lineaire vergelijkingen, matrixinversie, computergraphics en differentiaalvergelijkingen determinanten gebruiken, licht werpen op hun subtiele betekenis en de noodzaak om determinanten te begrijpen. De volgende keer dat je een foutmelding krijgt over een niet-inverteerbare (singuliere) matrix, denk je misschien aan de rol van de determinant in de vorm en lineaire onafhankelijkheid van de matrix.
Conclusie
Hopelijk heb je gezien hoe belangrijk de determinant is om het gedrag van matrices en transformaties te begrijpen. Onze cursus Linear Algebra for Data Science in R is een geweldige volgende stap om lineaire-algebratechnieken te blijven leren en ze toe te passen in data science-workflows.
Mijn opleiding is in wiskunde en statistiek. Ik heb uitgebreide ervaring met statistische modellering en toepassingen van machine learning. Daarnaast doe ik onderzoek naar de wiskunde achter ML.
Informatie en data die op een computerarchitectuur zijn opgeslagen, staan in de vorm van matrices. Daarom liggen aan de basis van de meeste wetenschappelijke berekeningen en machine learning matrices met verschillende dimensies.
Matrices zijn fundamentele wiskundige objecten in de lineaire algebra. Matrices hebben zelf enkele eigenschappen, zoals dimensie, spaarzaamheid (sparsity), eigenwaarden en determinanten.
Een determinant is een fundamentele eigenschap van een vierkante matrix die een belangrijke directe en indirecte rol speelt bij matrixbewerkingen, zoals invertibiliteit, het oplossen van lineaire stelsels in de techniek en transformaties in geometrie en computergraphics.
In dit artikel leer je over de determinanten van een vierkante matrix, hun toepassingen en enkele methoden om ze met de hand en met Python- en R-programma’s te berekenen.
Wat is een determinant?
Een determinant is een functie die een vierkante matrix afbeeldt op een reële scalair (één waarde). In de wiskunde wordt de determinant van een vierkante matrix A weergegeven als det(A) of |A|.
Net als de wiskunde zelf heeft de determinant een lange geschiedenis die teruggaat tot Chinese wiskundigen. In het oude China gebruikten wiskundigen determinanten om stelsels van lineaire vergelijkingen op te lossen (hun oplossingsmethode staat nu bekend als de regel van Cramer). Later in het 16e-eeuwse Europa bracht de wiskundige Cardano determinanten onder de aandacht door ze toe te passen bij het oplossen van stelsels lineaire vergelijkingen. Vervolgens legden Takakazu (17e eeuw), Leibniz (17e eeuw), Vandermonde en Cauchy (18e eeuw) de theoretische basis van determinanten in de zuivere wiskunde.
Eigenschappen van determinanten
Hoewel determinanten voor elke vierkante matrix moeten worden berekend, hebben ze in het algemeen en voor sommige specifieke matrices bekende eigenschappen. Daarnaast vertonen determinanten onder bepaalde wiskundige bewerkingen ook patronen en eigenschappen. Enkele van de bekende eigenschappen van determinanten zijn als volgt:
De determinant van een vierkante identiteitsmatrix is 1
Een identiteitsmatrix heeft 1’en op de diagonaal en 0 elders.
Wisselen van twee rijen of kolommen verandert het teken van de determinant
Bijvoorbeeld, in de volgende matrix is de determinant:
Als we de rijen omwisselen, verandert het teken van het resultaat.
De determinant van driehoeksmatrices is gelijk aan het product van de diagonaalelementen
Als een matrix onder- of bovendiagonaal (triangulair) is, hoeven we voor de determinant alleen de diagonaalwaarden met elkaar te vermenigvuldigen. Bijvoorbeeld, in de volgende bovendiagonale vierkante matrix wordt de determinant berekend door de diagonaalwaarden te vermenigvuldigen:
We vermenigvuldigen eenvoudig de diagonaalelementen om de determinant te berekenen: det(U)=2×4×6=48
De determinant is invariant onder matricesimilariteit
Twee matrices zijn vergelijkbaar (similar) als ze voortkomen uit één lineaire transformatie en verschillende basissen hebben. Als twee matrices vergelijkbaar zijn, dan hebben ze dezelfde determinant (en eigenwaarden, sporen en karakteristieke polynomen).
De determinant van een matrixproduct is het product van de determinanten van de matrices
Als voorbeeld worden hier de afzonderlijke determinanten van matrices A en B getoond:
Determinanten zijn invariant onder transponeren
Bijvoorbeeld, de determinant van matrix A en AT is hetzelfde (-9).
Methoden om determinanten te berekenen
Er zijn verschillende methoden om de determinant van een vierkante matrix te berekenen, zoals de Leibniz-formule, Laplace-expansie en Gauss-eliminatie. De keuze van de methode hangt af van de grootte van de matrix en de rekenkosten. We beschrijven hieronder enkele van deze methoden:
Leibniz-formule
De Leibniz-formule om de determinant van een vierkante matrix te vinden is het meest geschikt voor kleine matrices, zeker als de berekening geheel of gedeeltelijk met de hand gebeurt. De Leibniz-formule om de determinant van een matrix te vinden is als volgt:
Waar Sn de verzameling is van alle permutaties van de getallen 1,2,…,n en sgn(σ) het teken van de permutatie is, dat +1 is als de permutatie even is en −1 als de permutatie oneven is. De term ai,σ is een element van de matrix A.
Laplace-expansie
Laplace-expansie is ideaal voor grotere matrices. Bij Laplace- of cofactorexpansie wordt een grote matrix opgedeeld in kleinere matrices. Vervolgens wordt een schema opgezet met de determinant (minor) van een kleinere matrix en de bijbehorende cofactor, dat over rijen of kolommen wordt doorlopen.
Gauss-eliminatie
Omdat de determinant van een driehoeksmatrix het product is van de diagonaalelementen, maakt het reduceren van een matrix tot een diagonale (of bovendiagonale) matrix de berekening van de determinant efficiënter. Bij Gauss-eliminatie worden een reeks rijoperaties uitgevoerd om de volledige matrix te reduceren tot de rij-echelon- of bovendiagonale vorm. Vervolgens wordt de determinant berekend door de diagonaalelementen te vermenigvuldigen.
De determinant vinden voor matrices van verschillende grootte
In de volgende voorbeelden passen we elk van de bovenstaande methoden toe op matrices van verschillende grootte om de determinanten te vinden.
De determinant vinden voor een 2x2-matrix
De determinant van een 2x2-vierkante matrix is het makkelijkst te onthouden en te berekenen. Als we een 2x2-matrix A noteren als:
Dan is det(A) = (a x d) - (b x c). Bijvoorbeeld, voor matrix B hieronder:
De determinant vinden voor een 3x3-matrix
Hoewel er een formule is voor de berekening van een 3x3-vierkante matrix, laten we om didactische redenen in dit voorbeeld de Laplace- (cofactor)expansie zien. We berekenen de determinant van matrix A hieronder:
De determinant vinden voor een 4x4-matrix
We grijpen nu de kans aan om de Gauss-eliminatiemethode te laten zien om de determinant van de 4 x 4-matrix A hieronder te berekenen:
We transformeren deze matrix naar een bovendiagonale matrix door rijoperaties uit te voeren.
We krijgen,
Nog één rijoperatie:
We krijgen,
En de determinant is het product van de diagonaalelementen:
Geometrische en algebraïsche betekenis
Zoals we hierboven definieerden, is een determinant een functie die een vierkante matrix afbeeldt op een reëel getal.
In de geometrie bestaat een vierkant uit twee zijden, waarvan het product de oppervlakte is. En met drie zijden krijgen we het volume. De (absolute waarde van de) determinant van een 2 x 2-matrix kan worden geïnterpreteerd als de oppervlakte van een parallellogram gevormd door de twee kolommen van de matrix (als richtingsvectoren), en de getekende determinant van een 3 x 3-matrix kan worden geïnterpreteerd als het volume van een parallellepipedum (driedimensionaal lichaam).
Bij grafische transformaties, zoals het uitrekken of verkleinen van een afbeelding, laat de determinant van de getransformeerde afbeelding zien of de oppervlakte van de oorspronkelijke afbeelding (matrix) na transformatie is veranderd of niet (het principe van Cavalieri), terwijl de eigenwaarden aangeven of de afbeelding is uitgerekt of verkleind met of zonder verandering van de oppervlakte.
Determinanten kunnen ook aangeven of kolommen of rijen van een matrix lineaire combinaties van elkaar zijn (redundantie) of dat ze lineair onafhankelijk zijn en elk unieke informatie bevatten. Als de determinant van een matrix ongelijk aan nul is, concluderen we dat de kolommen of rijen van de matrix lineair onafhankelijk zijn. Als de determinant nul is, laat dat zien dat de kolommen (of rijen) van de matrix lineair afhankelijk zijn.
Tot slot worden determinanten ook gebruikt bij het formuleren van het karakteristieke polynoom voor het berekenen van de eigenwaarden.
De determinant in Python en R
Hoewel determinanten met de hand berekenen een waardevolle leerervaring is om onze wiskundige vaardigheden aan te scherpen en wiskundige verfijning te ontwikkelen, kunnen tijds- en energierestricties er uiteindelijk toe leiden dat we een rekenmachine of een programmeertaal zoals Python of R gebruiken. Zowel Python als R bieden bibliotheken, functies of methoden om de determinant van een matrix te berekenen. In de volgende codefragmenten laten we zien hoe je de determinant van een matrix berekent met Python en R.
Python-voorbeeld
Twee populaire Python-pakketten voor het berekenen van de determinant van een matrix zijn Numpy en Sympy (Symbolic Python). In het volgende codefragment laten we zien hoe je de determinant berekent met de Numpy- en Sympy-bibliotheken in Python.
R-voorbeeld
Voor het berekenen van de determinant van een matrix in R is het niet nodig een bibliotheek te laden. Base R biedt een ingebouwde functie om de determinant van een matrix te berekenen, zoals te zien is in het volgende R-codefragment:
Toepassingen van determinanten
Lineaire stelsels
Determinanten kunnen direct worden gebruikt bij het oplossen van een stelsel lineaire vergelijkingen met de regel van Cramer. Volgens de regel van Cramer construeren we eerst een matrix die bestaat uit de coëfficiënten van de onbekenden in het vergelijkingenstelsel en berekenen we de determinant daarvan. Vervolgens vormen we voor elke onbekende een matrix en berekenen we de determinant daarvan. De verhouding van de determinant van de nieuwe matrix tot die van de oorspronkelijke matrix is de waarde van de onbekende.
Differentiaalvergelijkingen
Een differentiaalvergelijking kan meerdere oplossingen (functies) hebben. Om zeker te zijn dat de oplossingen lineair onafhankelijk (uniek) zijn, worden de determinanten van de verzameling oplossingsfuncties, de zogenoemde Wronskiaan, berekend. Een niet-nul Wronskiaan duidt erop dat de functies/oplossingen lineair onafhankelijk zijn in het gegeven interval.
Geometrie
In de geometrie kan de determinant van een 2 x 2-matrix worden geïnterpreteerd als de oppervlakte van een parallellogram, en de determinant van een 3 x 3-matrix als het volume van een vast lichaam (parallellepipedum). Determinanten bij afbeeldingsfuncties met meerdere variabelen kunnen ons helpen te begrijpen of de afbeelding de oppervlakte of het volume van de functies heeft beïnvloed met behulp van de determinant van de Jacobiaanmatrix.
Belangrijke punten om te onthouden
Determinanten spelen een meer indirecte rol in machine learning, statistiek en wetenschappelijk rekenen. Toch kan inzicht in hoe stelsels lineaire vergelijkingen, matrixinversie, computergraphics en differentiaalvergelijkingen determinanten gebruiken, licht werpen op hun subtiele betekenis en de noodzaak om determinanten te begrijpen. De volgende keer dat je een foutmelding krijgt over een niet-inverteerbare (singuliere) matrix, denk je misschien aan de rol van de determinant in de vorm en lineaire onafhankelijkheid van de matrix.
Conclusie
Hopelijk heb je gezien hoe belangrijk de determinant is om het gedrag van matrices en transformaties te begrijpen. Onze cursus Linear Algebra for Data Science in R is een geweldige volgende stap om lineaire-algebratechnieken te blijven leren en ze toe te passen in data science-workflows.