Hoppa till innehållet
AI-grafen
E· Universitetmatematik· ca 60 min· utvecklande· verifierad 2026-09-20

Linjära avbildningar

Kunna tolka en matris som en avbildning som roterar, skalar och skjuvar rummet.

Förkunskaper

Intuition

En matris är inte bara ett rutnät av tal — den är en funktion som flyttar rummet. Multiplicera alla punkter med matrisen och rummet roteras, skalas, speglas eller skjuvas. Räta linjer förblir räta och origo står still.

MatrisGör
[[2,0],[0,2]]skalar allt 2×
[[2,0],[0,1]]sträcker bara x-led
[[0,-1],[1,0]]roterar 90°
[[1,1],[0,1]]skjuvar
[[1,0],[0,-1]]speglar i x-axeln
[[1,2],[2,4]]plattar till allt på en linje (singulär)

Determinanten är areaskalan: det = 2 betyder att alla areor dubbleras, det = 0 att rummet kollapsar till en linje (informationen går inte att återskapa — matrisen saknar invers), negativt det betyder att orienteringen vänds.

Formellt

Egenvektorer är de riktningar som avbildningen inte vrider — bara skalar: Av=λvA v = \lambda v Där λ\lambda är egenvärdet, skalfaktorn i den riktningen.

För A=(2003)A = \begin{pmatrix}2 & 0\\ 0 & 3\end{pmatrix} är e1e_1 och e2e_2 egenvektorer med egenvärden 2 och 3: avbildningen sträcker x-axeln dubbelt och y-axeln tre gånger.

Varför det spelar roll i deep learning:

  • Varje lager i ett nät är en linjär avbildning (plus en icke-linjäritet). Djup = många avbildningar i följd.
  • Om varje lagers matris har egenvärden > 1 växer signalen exponentiellt med djupet (exploderande aktiveringar/gradienter); är de < 1 krymper den (försvinnande). Initieringsstrategier handlar precis om att hålla dem nära 1.
  • SVD skriver varje matris som rotation → skalning → rotation, och singulärvärdena är skalfaktorerna. Det är grunden för lågrangsapproximation och LoRA.
  • Determinant noll = rangbrist = informationsförlust — precis det LoRA utnyttjar när ΔW medvetet ges låg rang.

Kod

import numpy as np

A = np.array([[2.0, 1.0], [0.0, 3.0]])
horn = np.array([[0,0], [1,0], [1,1], [0,1]], dtype=float)
print((A @ horn.T).T)             # enhetskvadratens hörn efter avbildningen
print(np.linalg.det(A))           # 6.0  → areor blir 6× större

varden, vektorer = np.linalg.eig(A)
print(varden.round(3))            # [2. 3.]
print(vektorer.round(3))          # kolumnerna är riktningarna som bara skalas

B = np.array([[1.0, 2.0], [2.0, 4.0]])
print(np.linalg.det(B), np.linalg.matrix_rank(B))   # 0.0 1  ← kollapsar till en linje

Behärskning innebär

  • Tolkar en matris som en geometrisk avbildning
  • Kopplar determinant och egenvektorer till vad avbildningen gör

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser