---
title: "Ax = 0 Çözme — Pivot Değişkenler ve Özel Çözümler"
subtitle: "Null uzayı için algoritma — rank, serbest değişkenler, rref"
---
::: {.callout-note title="Bölüm bilgisi"}
- **Strang'in videosu:** [YouTube — Lecture 7: Solving Ax = 0](https://www.youtube.com/watch?v=VqP2tREMvt0) (≈43 dk)
- **OCW sayfası:** [MIT 18.06SC — Lecture 7](https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/resources/solving-ax-0-pivot-variables-special-solutions/)
- **Okuma süresi:** ≈40 dk
:::
## Bu Derste Ne Var? {#sec-bu-derste}
Ders 6'da null uzayını gözle bulduk. Ders 7 bunu **algoritmaya** çeviriyor.
1. **Dikdörtgen eliminasyon** → echelon form $U$.
2. **Rank** = pivot sayısı.
3. **Pivot vs serbest değişkenler** → **özel çözümler**.
4. **rref ($R$)** → null uzayı doğrudan oku.
```{mermaid}
%%| label: fig-concept-map
%%| fig-cap: "Ax = 0 algoritması: A → U → R → null uzayı bazı (özel çözümler)."
flowchart LR
A["A (m × n)"] --> U["Echelon form U<br/>(eliminasyon)"]
U --> RANK["rank r = pivot sayısı"]
U --> PIVOT["pivot kolonlar (r tane)<br/>serbest kolonlar (n-r tane)"]
PIVOT --> SS["Özel çözümler<br/>(her serbest değişkene 1, diğerleri 0)"]
SS --> NA["N(A) = tüm kombinasyonları<br/>(boyut = n-r)"]
U --> R["rref R<br/>(pivotlar 1, üst/alt 0)"]
R --> NF["💡 N matrisi = (-F / I)<br/>(serbest blok F'den otomatik)"]
style RANK fill:#fff3e0,stroke:#e67e22,stroke-width:2px
style NA fill:#fdf6f7,stroke:#8a1538,stroke-width:2px
```
::: {.callout-tip title="Builder Notu — Rank ve ML"}
- **Rank** = matrisin gerçek bilgi boyutu. `np.linalg.matrix_rank` bunu sayar. Düşük rank = sıkıştırılabilir → **LoRA**'nın temeli.
- **Serbest değişkenler** = serbestlik dereceleri. Az-belirtilmiş ($n > m$) sistemlerde çözüm tek değil, alt-uzay → modern aşırı-parametrize ağların sonsuz çözümünün kökü.
- **Özel çözümler** = null uzayı bazı. `scipy.linalg.null_space` bu vektörleri döndürür.
- **rank + null boyutu = $n$** — rank-nullity teoremi; modelin gerçek serbestlik derecelerini sayma.
:::
## Eliminasyon Null Uzayını Korur {#sec-eliminasyon-koruma}
> *"When I subtract a multiple of one equation from another, I'm not changing the null space."* — Strang, 2:42
Sağ taraf hep $\mathbf{0}$ — sıfırdan herhangi katını çıkarsan yine $\mathbf{0}$. Eliminasyon kolon uzayını değiştirir ama null uzayını korur. Bu yüzden $A\mathbf{x} = \mathbf{0}$ için güvenle $U$'ya indirgeriz.
## Dikdörtgen Eliminasyon → Echelon Form U {#sec-echelon}
Strang'in örneği:
$$
A = \begin{pmatrix} 1 & 2 & 2 & 2 \\ 2 & 4 & 6 & 8 \\ 3 & 6 & 8 & 10 \end{pmatrix}
$$
İlk pivot $1$. $r_2 - 2 r_1$, $r_3 - 3 r_1$:
$$
\to \begin{pmatrix} 1 & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 0 & 0 & 2 & 4 \end{pmatrix}
$$
$(2, 2)$'de **sıfır**, altında da sıfır → bu kolonda iş yok, sonrakine geç. $(2, 3)$ pivot = 2. $r_3 - r_2$:
$$
U = \begin{pmatrix} 1 & 2 & 2 & 2 \\ 0 & 0 & 2 & 4 \\ 0 & 0 & 0 & 0 \end{pmatrix}
$$
**Echelon form** — merdiven gibi iner. Sıfır satırı, $r_3 = r_1 + r_2$ bağımlılığını gösterir.
## Rank, Pivot Kolonlar, Serbest Kolonlar {#sec-rank}
$U$'da **iki pivot**: $(1,1)$ ve $(2,3)$.
$$
\boxed{\text{rank}(A) = \text{pivot sayısı} = 2}
$$
- **Pivot kolonlar (1, 3):** karşılık gelen $x_1, x_3$ → **pivot değişkenler**.
- **Serbest kolonlar (2, 4):** $x_2, x_4$ → **serbest değişkenler**.
## Özel Çözümler — Serbest Değişkene 1 Ver {#sec-ozel-cozumler}
$U$'dan iki denklem (sağ taraf 0):
$$
x_1 + 2x_2 + 2x_3 + 2x_4 = 0, \quad 2x_3 + 4x_4 = 0
$$
**Strateji:** serbest değişkenlere değer ata, pivot değişkenleri geri yerine koy.
**Özel çözüm 1:** $x_2 = 1, x_4 = 0$ → $x_3 = 0$ → $x_1 = -2$.
$$
\mathbf{s}_1 = \begin{pmatrix} -2 \\ 1 \\ 0 \\ 0 \end{pmatrix}
$$
(Anlamı: $-2\mathbf{c}_1 + \mathbf{c}_2 = \mathbf{0}$ → $\mathbf{c}_2 = 2\mathbf{c}_1$.)
**Özel çözüm 2:** $x_2 = 0, x_4 = 1$ → $x_3 = -2$ → $x_1 = 2$.
$$
\mathbf{s}_2 = \begin{pmatrix} 2 \\ 0 \\ -2 \\ 1 \end{pmatrix}
$$
**Tam null uzayı:**
$$
N(A) = c_1 \mathbf{s}_1 + c_2 \mathbf{s}_2, \quad c_1, c_2 \in \mathbb{R}
$$
$\mathbb{R}^4$ içinde **2 boyutlu** alt-uzay.
## n − r Formülü {#sec-n-minus-r}
$$
\boxed{\text{serbest değişken sayısı} = n - r}
$$
Örnekte $n = 4, r = 2 \to 2$ özel çözüm. **Rank-nullity teoremi:**
$$
\dim N(A) + \text{rank}(A) = n
$$
```{python}
#| label: code-rank-null
#| code-fold: false
import numpy as np
from sympy import Matrix
A = np.array([[1, 2, 2, 2], [2, 4, 6, 8], [3, 6, 8, 10]], dtype=float)
print("rank =", np.linalg.matrix_rank(A)) # 2
R, pivots = Matrix(A).rref()
print("rref R =")
print(R)
print("pivot kolonlar:", pivots) # (0, 2)
ns = Matrix(A).nullspace()
print("özel çözümler:")
for v in ns: print(v.T)
```
## Reduced Row Echelon Form (rref) R {#sec-rref}
$U$'dan iki ek işlem:
1. Pivotların **üstünü** de temizle.
2. Her pivotu 1 yap.
$r_2 / 2 \to (0, 0, 1, 2)$. $r_1 - 2 r_2 \to (1, 2, 0, -2)$:
$$
R = \begin{pmatrix} 1 & 2 & 0 & -2 \\ 0 & 0 & 1 & 2 \\ 0 & 0 & 0 & 0 \end{pmatrix}
$$
Pivot kolonlarda (1, 3) birim matris. Serbest kolonlar (2, 4) "serbest" bilgiyi taşır.
## Null Uzayı Matrisi — $N = \begin{pmatrix} -F \\ I \end{pmatrix}$ Kalıbı {#sec-N-matrix}
$R$'yi pivot ve serbest kolonlara ayır:
$$
I = \begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}, \quad F = \begin{pmatrix} 2 & -2 \\ 0 & 2 \end{pmatrix}
$$
$R\mathbf{x} = \mathbf{0}$ → (pivot değişkenler) + $F \cdot$ (serbest) = 0 → pivot = $-F \cdot$ serbest. Serbest tarafa $I$ koyarsan, pivot tarafa $-F$ gelir:
$$
N \text{ matrisi} = \begin{pmatrix} -F \\ I \end{pmatrix} = \begin{pmatrix} -2 & 2 \\ 0 & -2 \\ 1 & 0 \\ 0 & 1 \end{pmatrix}
$$
(Satırlar pivot+serbest sırasında dizilir.) Daha önce elle bulduklarımızla aynı.
## rank(A) = rank(Aᵀ) {#sec-rank-AT}
$A^T$ ($4 \times 3$) için aynı algoritmayı uygula → 2 pivot çıkar. **Satır rank = kolon rank** — boyut teorisinin köşe taşı.
> *"The number of pivot columns for A and A transpose are the same."* — Strang, 37:11
## Bu Dersin Özeti {#sec-ozet}
1. Eliminasyon null uzayını korur.
2. **Echelon $U$**, **rank $r$ = pivot sayısı**.
3. **Pivot / serbest kolonlar**.
4. **Özel çözümler**: serbest = 1, diğerleri = 0.
5. **$n - r$** serbest değişken (rank-nullity).
6. **rref $R$** → null uzayını doğrudan okutur.
7. **$N = \binom{-F}{I}$** kalıbı.
8. $\text{rank}(A) = \text{rank}(A^T)$.
::: {.callout-important title="Tek bir cümle"}
$A\mathbf{x} = \mathbf{0}$'ı çözmek artık algoritma: $U$'ya in, rank $r$'yi bul, $n - r$ serbest değişkenin her birine sırayla 1 ver, özel çözümleri üret. **$N(A)$** = bu özel çözümlerin tüm kombinasyonları.
:::
## Kontrol Soruları {#sec-sorular}
::: {.callout-note collapse="true" title="Soru 1: A = ((1,2,1),(2,4,3)) — echelon form, rank, pivot/serbest kolonlar?"}
$r_2 - 2 r_1$:
$$
U = \begin{pmatrix} 1 & 2 & 1 \\ 0 & 0 & 1 \end{pmatrix}
$$
**Rank = 2.** Pivot kolonlar: 1, 3. Serbest: 2. Serbest değişken sayısı $n - r = 1$.
:::
::: {.callout-note collapse="true" title="Soru 2: Aynı A için N(A) özel çözümle bul."}
$x_2 = 1$ → $x_3 = 0$ → $x_1 + 2 = 0 \to x_1 = -2$.
$$
\mathbf{s} = (-2, 1, 0)^T, \quad N(A) = c(-2, 1, 0)^T
$$
$\mathbb{R}^3$'te orijinden geçen doğru. ($\mathbf{c}_2 = 2\mathbf{c}_1$.)
:::
::: {.callout-note collapse="true" title="Soru 3: 3×3 matriste rank 3 ise N(A)? Ya rank 2 ise?"}
- **rank = 3:** $n - r = 0$ → $N(A) = \{\mathbf{0}\}$. Tek çözüm $\mathbf{x} = \mathbf{0}$; matris tersinir.
- **rank = 2:** $n - r = 1$ → $N(A)$ bir boyutlu (doğru). Matris singular.
**Özet:** tam rank $\iff$ $N(A) = \{\mathbf{0}\}$ $\iff$ tersinir.
:::
::: {.callout-note collapse="true" title="Soru 4: W'nin rank'i n'den küçükse model hakkında ne söyler?"}
$r < n$ → $n - r > 0$ serbest yön. $W$ $n$ boyutlu girdiyi $r$ boyuta indiriyor; **$n - r$ boyut kaybı**.
- Bu yönlerdeki parametreler çıktıyı etkilemiyor → fazlalık.
- $W \approx UV^T$ ($r$-rank) daha az parametreyle aynı → **LoRA**.
- Eğitimde bazı yönlerde kayıp düz → regularization belirler.
Kısaca: "$r < n$ = model göründüğünden küçük dönüşüm yapıyor."
:::
## Egzersizler {#sec-egzersizler}
**Egzersiz 1.** $A = \begin{pmatrix} 1 & 2 & 0 & 1 \\ 0 & 0 & 1 & 2 \\ 1 & 2 & 1 & 3 \end{pmatrix}$ → echelon, rank, pivot/serbest kolonlar, iki özel çözüm.
**Egzersiz 2.** $A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 8 \end{pmatrix}$ → tam rref $R$ ve null uzayı matrisi $\binom{-F}{I}$.
**Egzersiz 3.** $3 \times 5$ matris, rank 3. Kaç özel çözüm? $N(A)$ hangi $\mathbb{R}^k$'de, kaç boyutlu?
**Egzersiz 4.** *(Python)*
```{python}
#| label: code-egzersiz-4
#| code-fold: false
import numpy as np
from sympy import Matrix
A = np.array([[1, 2, 2, 2], [2, 4, 6, 8], [3, 6, 8, 10]], dtype=float)
print("rank =", np.linalg.matrix_rank(A))
R, p = Matrix(A).rref()
print("rref R =\n", R, "\npivot kolonlar:", p)
print("özel çözümler:")
for v in Matrix(A).nullspace(): print(v.T)
```
**Egzersiz 5.** *İspatla:* $A$ ($m \times n$), rank $r$ → $N(A)$ boyutu $n - r$. **$n > m$** ise $N(A) \neq \{\mathbf{0}\}$ (sıfırdan farklı çözüm hep var). Bu, Ders 8 ve ML'de aşırı-parametrizasyonun temeli.
## Sonraki Ders İçin Hazırlık {#sec-sonraki}
**Ders 8: $A\mathbf{x} = \mathbf{b}$ Çözme — Tam Çözüm ve Rank**
- Sağ taraf sıfırdan farklı: çözülebilirlik testi ($\mathbf{b} \in C(A)$).
- **Tam çözüm = özel çözüm $\mathbf{x}_p$ + $N(A)$.**
- Augmented matris $[A \mid \mathbf{b}]$ ile eliminasyon.
- Rank'in çözüm sayısına etkisi (0, 1, $\infty$).
::: {.callout-warning title="Ders 8 öncesi"}
- Egzersizleri çöz, özellikle 5 (rank-nullity ispat).
- `sympy.Matrix(A).rref()` ve `.nullspace()` ile birkaç matris dene.
- Ana cümleyi tekrar oku.
:::
## Anahtar Kavramlar (Cheat Sheet) {#sec-cheat-sheet}
| Kavram | Tanım | Strang'da |
|--------|-------|-----------|
| **Eliminasyon null'ı korur** | $A\mathbf{x} = \mathbf{0}$ çözümleri değişmez | 2m42 |
| **Echelon $U$** | Dikdörtgen eliminasyon merdiveni | 6m12 |
| **Rank $r$** | Pivot sayısı | 6m44 |
| **Pivot/serbest kolon** | Pivotlular pivot, kalanlar serbest | 8m04 |
| **Serbest değişken** | İstediğin değeri verirsin ($n-r$ tane) | 8m43 |
| **Özel çözüm** | Serbest = 1, diğerleri = 0 | 15m05 |
| **$n - r$ formülü** | Serbest = özel çözüm sayısı | 17m28 |
| **rref $R$** | Pivot 1, üst/alt 0 | 19m25 |
| **$N$ matrisi** | $\binom{-F}{I}$ kalıbı | 30m54 |
| **rank(A) = rank(Aᵀ)** | Satır rank = kolon rank | 37m11 |
## ML Bağlantıları Özeti {#sec-ml-baglantilar}
::: {.callout-tip title="7 köprü"}
1. **Rank = gerçek bilgi boyutu** → `matrix_rank`; düşük rank → LoRA.
2. **Serbest değişkenler = serbestlik dereceleri** → Aşırı-parametrize ağların sonsuz çözümü.
3. **Özel çözümler = null bazı** → `null_space`, dönüşümün kör yönleri.
4. **rref / Gauss** → Her solver'ın içi; "singular matrix" uyarılarını anlama.
5. **$n > m$ → $N(A) \neq \{\mathbf{0}\}$** → Parametre > veri rejimi; derin öğrenme.
6. **Rank-nullity** → Modelin gerçek serbestlik dereceleri.
7. **rank(A) = rank(Aᵀ)** → Boyut teorisinin köşe taşı.
:::
::: {.callout-important title="Tek bir şey alıp gideceksen"}
$A\mathbf{x} = \mathbf{0}$ artık tahmin değil, **algoritma**: $U$'ya in, rank $r$ bul, $n - r$ serbest değişkenin her birine sırayla 1 ver, özel çözümleri üret. **$N(A)$** = bu özel çözümlerin tüm kombinasyonları; rank, matrisin tüm karakterini özetleyen tek sayı.
:::