Ga naar hoofdinhoud

Orthogonale matrix: een uitleg met voorbeelden en code

Leer over orthogonale matrices met praktische voorbeelden en real-world toepassingen in lineaire algebra en data science.
Bijgewerkt 2 okt 2026  · 8 min lezen

Verken met AI

ChatGPTClaudePerplexity

Een orthogonale matrix is een vierkante matrix waarvan de kolommen en rijen orthonormale bases vormen: ze staan loodrecht op elkaar en hebben eenheidslengte. Deze ogenschijnlijk eenvoudige eigenschap ontgrendelt nuttige mogelijkheden: ze behouden afstanden, hoeken en inproduct wanneer ze worden toegepast als lineaire transformaties. 

In dit artikel definiëren we eerst wat een orthogonale matrix is en bekijken we de belangrijkste eigenschappen en voorbeelden. Vervolgens verkennen we praktische toepassingen, zetten we orthogonale en orthonormale matrices tegenover elkaar en laten we zien hoe je in de praktijk een orthogonale matrix herkent. Door deze speciale matrices te begrijpen, krijg je inzicht in verschillende computationele technieken die worden gebruikt in data science, machine learning en numerieke rekenkunde.

Wat is een orthogonale matrix?

Een orthogonale matrix is een vierkante matrix Q waarvan de transpose gelijk is aan de inverse:

Definitie orthogonale matrix

Definitie orthogonale matrix. Afbeelding door de auteur.

Als we een orthogonale matrix vermenigvuldigen met zijn transpose, krijgen we de identiteitsmatrix:

Definitie orthogonale matrix

Definitie orthogonale matrix. Afbeelding door de auteur.

Vanuit geometrisch oogpunt vertegenwoordigt een orthogonale matrix een lineaire transformatie die de lengte van vectoren en de hoeken ertussen behoudt. Zulke transformaties omvatten rotaties, spiegelingen of combinaties daarvan in een n-dimensionale ruimte. Dit betekent dat wanneer we een vector vermenigvuldigen met een orthogonale matrix, alleen de oriëntatie verandert — niet de grootte.

Een andere manier om orthogonale matrices te begrijpen, is via hun structuur. In een orthogonale matrix vormen alle kolommen een orthonormale verzameling vectoren — elke kolom heeft eenheidslengte (norm = 1) en elk paar verschillende kolommen staat loodrecht op elkaar (hun inproduct is nul). Dezelfde eigenschap geldt voor de rijen van de matrix.

Voor een 2×2-matrix om orthogonaal te zijn, moeten de kolommen bijvoorbeeld eenheidsvectoren zijn die loodrecht op elkaar staan. Dit levert een rigide geometrische transformatie op die de structuur van de ruimte waarin ze opereert behoudt, waardoor orthogonale matrices fundamentele hulpmiddelen zijn in toepassingen die geometrische integriteit vereisen.

Eigenschappen van orthogonale matrices

Voortbouwend op de basisdefinitie verkennen we nu de wiskundige en computationele eigenschappen die orthogonale matrices onmisbaar maken in numerieke toepassingen.

Determinant-classificatie 

De determinant van een orthogonale matrix is altijd ofwel +1 of -1, wat deze matrices in twee geometrische categorieën indeelt:

  • Als det(Q) = +1, stelt de matrix een zuivere rotatie voor
  • Als det(Q) = -1, stelt de matrix een spiegeling voor (of een rotatie gecombineerd met een spiegeling)

Deze determinantbeperking zorgt ervoor dat orthogonale transformaties volume behouden: de ruimte wordt heroriënteerd in plaats van uitgerekt of samengedrukt.

Behoudseigenschappen 

Orthogonale matrices behouden geometrische relaties tijdens transformatie. 

Voor elke orthogonale matrix Q en vectoren u en v:

  • Vectornormen blijven behouden: ||Qu|| = ||u||
  • Inproducten blijven behouden: (Qu) · (Qv) = u · v
  • Hoeken tussen vectoren blijven onveranderd

Dit behoud strekt zich uit voorbij individuele vectoren — volledige geometrische configuraties behouden hun relatieve structuur onder orthogonale transformaties.

Algebraïsche eigenschappen 

De eigenwaarden van orthogonale matrices hebben allemaal een absolute waarde gelijk aan 1. Voor reële orthogonale matrices zijn deze eigenwaarden ofwel 1, -1 of treden ze op in complexe geconjugeerde paren op de eenheidscirkel. Deze beperking zorgt ervoor dat de transformatie de algehele “energie” van het systeem niet versterkt of verzwakt.

Bovendien is het product van twee orthogonale matrices altijd orthogonaal, wat een sluitingseigenschap oplevert die deze matrices goed voorspelbaar maakt voor complexe transformaties en iteratieve algoritmen.

Numerieke stabiliteit 

Vanuit computationeel oogpunt hebben orthogonale matrices uitzonderlijke numerieke eigenschappen. Ze hebben een conditiegetal van 1, waardoor ze uiterst stabiel zijn voor numerieke algoritmen. Dit betekent dat kleine fouten in de invoer niet worden uitvergroot tijdens de berekening, wat leidt tot betrouwbare en nauwkeurige resultaten, zelfs bij complexe berekeningen. Deze stabiliteit is de reden waarom orthogonale matrices de voorkeur hebben in veel numerieke methoden en waarom algoritmen zoals QR-decompositie sterk leunen op orthogonale transformaties.

Nu we de definitie en de eigenschappen die orthogonale matrices bijzonder maken begrijpen, kijken we naar enkele voorbeelden om ze beter te doorgronden.

Voorbeelden van orthogonale matrices

Orthogonale matrices worden duidelijker als we voorbeeldmatrices bekijken.

De identiteitsmatrix

De meest basale orthogonale matrix is de identiteitsmatrix, die alle vectoren onveranderd laat:

Identiteitsmatrix

Identiteitsmatrix. Afbeelding door de auteur.

Hoewel triviaal voldoet de identiteitsmatrix aan onze fundamentele eis: I^T × I = I, waarmee ze per definitie orthogonaal is.

2D-rotatiematrices

Een van de meest intuïtieve voorbeelden is een 2D-rotatiematrix die vectoren roteert over een hoek θ:

2D-matrix

2D-matrix. Afbeelding door de auteur.

Als we bijvoorbeeld 45 graden ( π/4 radialen) roteren, krijgen we:

Met 45 graden geroteerde matrix

Met 45 graden geroteerde matrix. Afbeelding door de auteur.

Deze matrix roteert elke vector 45 graden tegen de klok in terwijl de lengte behouden blijft — een perfect voorbeeld van een orthogonale transformatie die geometrische eigenschappen bewaart.

Spiegelingsmatrices

Spiegelingsmatrices spiegelen vectoren ten opzichte van een specifieke as of vlak. Een eenvoudige spiegeling ten opzichte van de x-as is:

Voorbeeld spiegelingsmatrix

Voorbeeld spiegelingsmatrix. Afbeelding door de auteur.

Deze matrix laat de x-coördinaat onveranderd en neemt het tegengestelde van de y-coördinaat, waardoor vectoren effectief gespiegeld worden ten opzichte van de horizontale as.

3D-transformaties

Uitbreidend naar drie dimensies kunnen we rotatiematrices voor de 3D-ruimte maken. Een rotatie om de z-as over een hoek θ ziet er als volgt uit:

3D-transformaties uitvoeren

3D-transformaties uitvoeren. Afbeelding door de auteur.

Merk op dat hierbij de z-coördinaat behouden blijft terwijl de x- en y-componenten roteren, wat laat zien hoe orthogonale matrices specifieke dimensies selectief kunnen transformeren.

Elk van deze voorbeelden illustreert het kernprincipe van orthogonale matrices: ze transformeren vectoren terwijl ze hun essentiële geometrische eigenschappen behouden — lengtes blijven gelijk en hoeken tussen vectoren blijven behouden.

Praktische toepassingen van orthogonale matrices

Orthogonale matrices worden veel gebruikt in diverse domeinen dankzij hun geometrische en numerieke eigenschappen. 

Enkele daarvan zijn:

  • Principal component analysis: PCA gebruikt orthogonale matrices om data te transformeren naar een nieuw coördinatenstelsel waarin de grootste variantie langs de eerste coördinaat ligt. De transformatormatrix bestaat uit orthogonale eigenvectoren die de geometrische structuur van de data behouden terwijl de dimensionaliteit wordt verlaagd.
  • QR-decompositie: Elke matrix kan worden gedecomponeerd als A = QR, waarbij Q orthogonaal is en R bovendriehoekig. Deze decompositie is fundamenteel bij het oplossen van lineaire stelsels, kleinste-kwadratenproblemen en eigenwaarde-berekeningen.
  • Computergrafiek en 3D-transformaties Orthogonale matrices zijn essentieel voor 3D-rotaties in computergrafiek, robotica en computervisie. Ze zorgen ervoor dat objecten hun vorm en grootte behouden tijdens rotaties, waardoor vervormingen worden voorkomen.
  • Signaalverwerking: Discrete Cosine Transform (DCT) en Discrete Fourier-transformatie gebruiken orthogonale matrices om signalen tussen tijd- en frequentiedomeinen te transformeren. JPEG-compressie leunt sterk op DCT, dat orthogonale transformaties gebruikt.
  • Quantumcomputing: Quantumpoorten worden weergegeven door unitaire matrices, de complexe generalisatie van orthogonale matrices. Deze transformaties behouden waarschijnlijkheidsamplitudes in kwantumsystemen.

Orthogonaal vs. orthonormaal

De termen orthogonale matrix en orthonormale matrix worden soms verward, maar in de context van matrices wordt alleen de term orthogonale matrix gebruikt, en die impliceert al orthonormaliteit. De verwarring ontstaat meestal wanneer terminologie van vectorverzamelingen wordt vermengd met die van matrices.

Om ze te contrasteren:

  • Een orthogonale verzameling vectoren bestaat uit vectoren die onderling loodrecht staan, maar niet noodzakelijk van eenheidslengte zijn.
  • Een orthonormale verzameling bestaat uit vectoren die zowel onderling loodrecht staan als eenheidslengte hebben (d.w.z. genormaliseerd).

Dus waar komt de verwarring vandaan: waarom noemen we het “orthogonaal” en niet “orthonormaal”?

Hoewel de kolommen van een orthogonale matrix technisch gezien orthonormaal zijn, is de term orthogonale matrix de standaard, historisch ingeburgerde naam in de lineaire algebra. Het label “orthonormale matrix” is dubbelop en wordt zelden, zo niet nooit, gebruikt in de formele wiskunde.

Als we zeggen dat een matrix orthogonaal is, bedoelen we altijd dat de kolommen (en rijen) orthonormaal zijn — onderling loodrecht en van eenheidslengte. Er is in deze context geen aparte term zoals “orthonormale matrix” nodig.

Nu we de naamsverwarring hebben opgehelderd, kijken we hoe je een orthogonale matrix herkent.

Hoe herken je een orthogonale matrix

Een gangbare methode om te verifiëren of een matrix orthogonaal is, is controleren of de matrix vermenigvuldigd met zijn transpose gelijk is aan de identiteitsmatrix: Q^T Q = I.

Deze aanpak test rechtstreeks de fundamentele definitie van orthogonale matrices en is computationeel efficiënt voor matrices van elke grootte. Wanneer Q^T Q de identiteitsmatrix oplevert, bevestigt dat dat alle kolommen orthonormaal zijn (eenheidslengte en onderling orthogonaal).

We kunnen hiervoor een eenvoudige functie in Python schrijven:

import numpy as np

def is_orthogonal(Q, tolerance=1e-10):
   """Check if Q^T * Q equals identity matrix"""
   # Matrix must be square
   if Q.shape[0] != Q.shape[1]:
       return False
  
   # Compute Q^T * Q
   QT_Q = np.dot(Q.T, Q)
   identity = np.eye(Q.shape[0])
  
   # Check if result is close to identity matrix
   return np.allclose(QT_Q, identity, atol=tolerance)

We kunnen de bovenstaande functie testen met enkele voorbeelden:

# Test a 2D rotation matrix
theta = np.pi/3  # 60 degrees
rotation_matrix = np.array([[np.cos(theta), -np.sin(theta)],
                          [np.sin(theta),  np.cos(theta)]])

print("Rotation matrix:")
print(rotation_matrix)
print("Is orthogonal:", is_orthogonal(rotation_matrix))

# Verify by computing Q^T * Q
QT_Q = np.dot(rotation_matrix.T, rotation_matrix)
print("Q^T * Q =")
print(QT_Q)

Zoals verwacht zien we hieronder de uitvoer die de orthogonale matrix bevestigt:

Uitvoer voor orthogonale matrixUitvoer voor orthogonale matrix. Afbeelding door de auteur.

Daarnaast kunnen we de functie ook verifiëren met een niet-orthogonale matrix hieronder:

# Test with a non-orthogonal matrix
non_orthogonal = np.array([[1, 2], [3, 4]])
print("\nNon-orthogonal matrix:")
print(non_orthogonal)
print("Is orthogonal:", is_orthogonal(non_orthogonal))

De uitvoer bevestigt hetzelfde:

Uitvoer voor niet-orthogonale matrix

Uitvoer voor niet-orthogonale matrix. Afbeelding door de auteur.

De tolerantieparameter houdt rekening met de nauwkeurigheid van drijvende-kommagetallen. In de praktijk zijn matrices die computationeel orthogonaal zijn (binnen numerieke precisie) geschikt voor de meeste toepassingen, ook al zijn ze door afrondingsfouten niet wiskundig perfect.

Conclusie

Dit artikel verkende orthogonale matrices, speciale vierkante matrices waarbij de transpose gelijk is aan de inverse, en hun opmerkelijke eigenschappen die ze essentieel maken in data science en numerieke rekenkunde. We leerden hoe deze matrices afstanden en hoeken behouden tijdens transformaties, bekeken hun toepassingen in PCA, QR-decompositie, computergrafiek en signaalverwerking, en ontdekten praktische methoden om ze te identificeren met Python-implementaties.

Wil je je kennis van lineaire algebra en de toepassingen in data science verdiepen? Schrijf je dan in voor onze cursus Linear Algebra for Data Science, waar je meer geavanceerde matrixconcepten en hun implementaties in realistische scenario’s verkent.


Arunn Thevapalan's photo
Author
Arunn Thevapalan
LinkedIn
Twitter

Als senior data scientist ontwerp, ontwikkel en implementeer ik grootschalige machinelearningsoplossingen om bedrijven te helpen betere, datagedreven beslissingen te nemen. Als schrijver over data science deel ik inzichten, carrièreadvies en diepgaande, praktijkgerichte tutorials.

FAQs

Wat maakt een matrix orthogonaal?

Een matrix is orthogonaal als de transpose gelijk is aan de inverse (Q^T = Q^(-1)). Dit betekent dat wanneer je de matrix met zijn transpose vermenigvuldigt, je de identiteitsmatrix krijgt.

Wat is het verschil tussen orthogonaal en orthonormaal?

In matrixterminologie is er geen verschil. Een "orthogonale matrix" heeft altijd orthonormale kolommen (loodrecht en eenheidslengte). De term "orthonormale matrix" wordt in de praktijk niet gebruikt.

Kan een niet-vierkante matrix orthogonaal zijn?

Nee. Alleen vierkante matrices kunnen orthogonaal zijn, omdat de eigenschap transpose-is-inverse vereist dat de matrix evenveel rijen als kolommen heeft.

Hoe controleer ik of een matrix orthogonaal is?

Vermenigvuldig de matrix met zijn transpose. Als het resultaat de identiteitsmatrix is (binnen numerieke precisie), is de matrix orthogonaal.

Kan ik orthogonale matrices met elkaar vermenigvuldigen?

Ja, en het resultaat is altijd weer een orthogonale matrix. Deze "sluitingseigenschap" maakt ze goed hanteerbaar voor complexe transformaties.

Onderwerpen
Data Science

Leren met DataCamp

Cursus

Lineaire algebra voor data science in R

4 uur
21.7K
Deze cursus is een inleiding tot lineaire algebra, een van de belangrijkste wiskundige onderwerpen die ten grondslag liggen aan datawetenschap.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken