Cursus
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. Afbeelding door de auteur.
Als we een orthogonale matrix vermenigvuldigen met zijn transpose, krijgen we de identiteitsmatrix:
![]()
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. 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. Afbeelding door de auteur.
Als we bijvoorbeeld 45 graden ( π/4 radialen) roteren, krijgen we:

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

