---
title: "Cramer Kuralı, Ters Matris ve Hacim"
subtitle: "Üç uygulama — kapalı-form vs hacim sezgisi"
---
::: {.callout-note title="Bölüm bilgisi"}
- **Strang'in videosu:** [YouTube — Lecture 20: Cramer's Rule, Inverse Matrix, and Volume](https://www.youtube.com/watch?v=QNpj-gOXW9M) (≈50 dk)
- **OCW sayfası:** [MIT 18.06SC — Lecture 20](https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/resources/lecture-20-cramers-rule-inverse-matrix-and-volume/)
- **Okuma süresi:** ≈40 dk
:::
## Bu Derste Ne Var? {#sec-bu-derste}
Determinantın üç uygulaması:
1. **Ters matris formülü:** $A^{-1} = \frac{1}{\det A} C^T$ (adjugate).
2. **Cramer kuralı:** $x_j = \det(B_j) / \det(A)$ — güzel ama pratikte felaket.
3. **det = hacim:** kalıcı fikir, Jacobian'ın temeli.
> *"The determinant actually equals the volume of something."* — Strang, 28:22
```{mermaid}
%%| label: fig-concept-map
%%| fig-cap: "Determinantın üç uygulaması — formüller (teorik) vs hacim (kalıcı)."
flowchart LR
DET["det A"] --> INV["⭐ A⁻¹ = Cᵀ / det A<br/>(adjugate, teori)"]
DET --> CR["Cramer<br/>xⱼ = det(Bⱼ)/det(A)<br/>(O(n!) felaket)"]
DET --> VOL["⭐⭐ det = hacim ölçeği<br/>(KALICI)"]
INV -.->|pratik DEĞİL| LU["LU her zaman kazanır"]
CR -.->|pratik DEĞİL| LU
VOL --> JAC["Jacobian determinantı<br/>change of variables"]
JAC --> ML["Normalizing flows<br/>olasılık ölçüsü<br/>computational geometry"]
style VOL fill:#fff3e0,stroke:#e67e22,stroke-width:3px
style ML fill:#fce4ec,stroke:#c2185b,stroke-width:2px
```
::: {.callout-tip title="Builder Notu — Güzel Formül ≠ Pratik Algoritma"}
- **A⁻¹ formülü ve Cramer** teorik şık, sayısal felaket — eliminasyon (LU) her zaman kazanır.
- **det = hacim** → Jacobian değişken değişimi, normalizing flow yoğunluk düzeltmesi.
- **det Q = ±1** → ortogonal hacim korur, kararlı flow/RNN katmanları.
- **Koordinatlardan alan/hacim** → computational geometry, point cloud (PointNet), mesh.
:::
## Ters Matris Formülü {#sec-ters}
$$
A^{-1} = \frac{1}{\det A} C^T
$$
$C$ = kofaktör matrisi, $C^T$ = adjugate. 2×2'deki tanıdık formülün ($\frac{1}{ad-bc}\binom{d\ -b}{-c\ a}$) genellemesi.
**Neden çalışır:** $A \cdot C^T = \det(A) \cdot I$. Köşegen girişler kofaktör formülü ile $\det A$:
$$
a_{i1} C_{i1} + \cdots + a_{in} C_{in} = \det A
$$
**Köşegen-dışı sıfır:** $i \neq j$ ise çarpım, "**iki eşit satırlı bozulmuş matrisin**" determinantına eşittir → 0 (Ders 18, Özellik 4).
> *"It's as if I'm taking the determinant of a screwed up matrix with two identical rows."* — Strang, 17:09
**Builder Notu:** Adjugate **sembolik/parametrik** durumlarda değerli (implicit function theorem, hiperparametre gradyanları). Hesap için her zaman LU.
## Cramer Kuralı {#sec-cramer}
$$
\boxed{x_j = \frac{\det(B_j)}{\det A}}
$$
$B_j$ = $A$'nın $j$-inci kolonu $\mathbf{b}$ ile değiştirilmiş.
**Türetme:** $\mathbf{x} = A^{-1} \mathbf{b} = \frac{1}{\det A} C^T \mathbf{b}$. $j$-inci bileşen tam olarak $\det(B_j) / \det(A)$ (kolon kofaktör açılımı).
**Pratik değil:** $n + 1$ determinant. $n = 10$'da bile felaket. **Eliminasyon $O(n^3)$ kazanır.**
> *"Cramer's Rule is a disastrous way to go, because to compute these determinants, it takes approximately forever."* — Strang, 27:05
**Ders:** Kapalı-form **algebra** içindir (anlama, türetme); **algoritma** (eliminasyon) hesap içindir.
## Determinant = Hacim ⭐⭐ {#sec-hacim}
$|\det A|$ = satırların gerdiği **kutunun (paralelyüz) işaretli hacmi**.
- **2×2:** paralelkenar alanı.
- **3×3:** paralelyüz hacmi.
- **n×n:** n-boyutlu kutu hacmi.
İşaret = **orientasyon** (sağ-el/sol-el).
**Birim küp:** $A = I$ → kutu birim küp, hacim 1 = $\det(I)$ ✓.
**Ortogonal $Q$:** kolonlar ortonormal → kutu döndürülmüş birim küp, hacim 1. $Q^T Q = I$ → $(\det Q)^2 = 1$ → $\det Q = \pm 1$. Rotasyon $+1$ (orientasyon korunur), yansıma $-1$.
**Builder Notu:** **Jacobian determinantı = hacim ölçeği** = olasılık ölçüsü düzeltmesi. **Normalizing flow'larda** her katman $\log|\det J|$ olabilirliğe eklenir; ortogonal katmanlar $\log|\det| = 0$ → ucuz ve kararlı.
## Hacim = Determinant İspatı {#sec-hacim-ispat}
Hacim, determinantı tanımlayan 3 özelliği sağlar → hacim = determinant.
- **Özellik 1:** birim küp hacmi 1 ✓.
- **Özellik 2:** kenar takası → orientasyon (işaret) değişir, hacim aynı ✓.
- **Özellik 3A:** kenar × $t$ → hacim × $t$ ✓.
- **Özellik 3B:** lineer ayrışım (shear ile gösterilir) ✓.
Aynı 3 özellik → tek fonksiyon → **hacim = determinant**.
**Builder Notu:** Bu "aksiyom karakterizasyonu" matematiğin güçlü tekniği. ML'de "değişmez (invariant) çekirdekleri" tanımlamak için kullanılır.
## Alan Formülü — Paralelkenar ve Üçgen {#sec-alan}
2-D'de: kenarlar $(a, b), (c, d)$ paralelkenar:
$$
\text{Alan} = |ad - bc|
$$
**Üçgen** (orijinde başlıyorsa): yarısı = $\frac{1}{2}|ad - bc|$.
**Genel üçgen** (köşeler $(x_i, y_i)$):
$$
\text{Alan} = \frac{1}{2} \left| \det \begin{pmatrix} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ x_3 & y_3 & 1 \end{pmatrix} \right|
$$
**Kareköksüz**, sadece koordinatlardan — geometriden çok daha temiz.
```{python}
#| label: code-area
#| code-fold: false
import numpy as np
# Paralelkenar (3,1), (1,4)
area_pgram = abs(np.linalg.det(np.array([[3, 1], [1, 4]])))
print(f"Paralelkenar alanı: {area_pgram}")
# Genel üçgen koordinatlardan
def triangle_area(p1, p2, p3):
M = np.array([[p1[0], p1[1], 1],
[p2[0], p2[1], 1],
[p3[0], p3[1], 1]], dtype=float)
return abs(np.linalg.det(M)) / 2
print(f"Üçgen (0,0), (3,1), (1,4): {triangle_area((0,0), (3,1), (1,4))}")
print(f"Üçgen (1,1), (4,2), (2,5): {triangle_area((1,1), (4,2), (2,5))}")
```
**Builder Notu:** **Computational geometry** ve **graphics**'in temel: üçgen mesh alanı, shoelace formülü (poligon), barycentric, point-in-triangle (işaret kontrolü). **PointNet, mesh CNN** bu nicelikleri özellik olarak kullanır. **3D tetrahedron hacmi** sonlu eleman mesh kalitesi → $\det \approx 0$ = çarpık eleman.
## Bu Dersin Özeti {#sec-ozet}
1. **$A^{-1} = C^T / \det A$**.
2. **Köşegen-dışı sıfır** ("bozulmuş" matris ispatı).
3. **Cramer**: $x_j = \det(B_j)/\det(A)$.
4. **Cramer pratik değil** → eliminasyon.
5. **det = hacim**.
6. **$\det Q = \pm 1$**.
7. **Hacim = det** aksiyom ispatı.
8. **Alan = $|ad - bc|$**.
9. **Genel üçgen** 3×3 det.
::: {.callout-important title="Tek bir cümle"}
**$A^{-1} = C^T / \det A$** ve **Cramer** zarif kapalı-formlar, ama pratikte hep LU. Asıl kalıcı fikir: **det = hacim ölçeği** (Jacobian, normalizing flows, computational geometry).
:::
## Kontrol Soruları {#sec-sorular}
::: {.callout-note collapse="true" title="Soru 1: A = (2 1 / 1 3) → A⁻¹ kofaktör formülüyle."}
$\det = 5$. $C = \begin{pmatrix} 3 & -1 \\ -1 & 2 \end{pmatrix} = C^T$ (simetrik). $A^{-1} = \frac{1}{5}\begin{pmatrix} 3 & -1 \\ -1 & 2 \end{pmatrix}$.
:::
::: {.callout-note collapse="true" title="Soru 2: Cramer ile 2x₁+x₂=3, x₁+3x₂=5."}
$\det A = 5$.
$x_1 = \frac{1}{5}\begin{vmatrix} 3 & 1 \\ 5 & 3 \end{vmatrix} = \frac{9-5}{5} = \frac{4}{5}$.
$x_2 = \frac{1}{5}\begin{vmatrix} 2 & 3 \\ 1 & 5 \end{vmatrix} = \frac{10-3}{5} = \frac{7}{5}$.
:::
::: {.callout-note collapse="true" title="Soru 3: Köşeler (0,0), (3,1), (1,4) → üçgen alanı."}
Orijinde → iki kenar $(3,1), (1,4)$.
$|ad - bc| = |12 - 1| = 11$. Üçgen = **5.5**.
:::
::: {.callout-note collapse="true" title="Soru 4: Jacobian = hacim ölçeği nasıl ML'de? Ortogonal katman avantajı? Cramer neden ML'de yok?"}
**Jacobian:** $\mathbf{y} = f(\mathbf{x})$ → küçük hacim öğesi $|\det J|$ kat ölçeklenir → yoğunluk $|\det J|^{-1}$ ile düzeltilir.
**Normalizing flow:** $\log|\det J|$ log-olabilirliğe eklenir; toplam zincir = $\sum \log|\det|$.
**Ortogonal katman ($\det = \pm 1$):** $\log|\det| = 0$, hacim korunur, $\|Q\mathbf{x}\| = \|\mathbf{x}\|$ → gradyan kararlı.
**Cramer pratik değil:** $n+1$ determinant; LU O(n³) ile aynı sonuç. `np.linalg.solve` her zaman LU.
Özet: hacim fikri derin (Jacobian, ortogonallik); Cramer/adjugate sadece teorik.
:::
## Egzersizler {#sec-egzersizler}
**Egzersiz 1.** $A = (1\ 2 / 3\ 4)$ → $C, C^T, A^{-1}$. `np.linalg.inv` ile karşılaştır.
**Egzersiz 2.** Cramer ile: $x + y + z = 6, 2y + z = 4, z = 2$.
**Egzersiz 3.** Köşeler $(1,1), (4,2), (2,5)$ → üçgen alanı (3×3 det).
**Egzersiz 4.** *(Python)* solve vs Cramer karşılaştırma.
**Egzersiz 5.** *İspatla:* $\det(AB) = \det A \det B$ + hacim yorumu → bileşke hacim ölçekleri çarpılır. Ders 21'de **özdeğer çarpımı = $\det$**.
## Sonraki Ders İçin Hazırlık {#sec-sonraki}
**Ders 21: Özdeğerler ve Özvektörler**
- **Özvektör:** $A\mathbf{x} = \lambda \mathbf{x}$.
- **Karakteristik denklem:** $\det(A - \lambda I) = 0$.
- $\sum \lambda = \text{trace}$, $\prod \lambda = \det$.
::: {.callout-warning title="Ders 21 öncesi"}
- Egzersiz 5 (det = özdeğer çarpımı habercisi).
- `solve` vs Cramer'i Python'da gör.
:::
## Anahtar Kavramlar (Cheat Sheet) {#sec-cheat-sheet}
| Kavram | Tanım | Strang'da |
|--------|-------|-----------|
| **$A^{-1} = C^T / \det A$** | Adjugate | 3m26 |
| **$A C^T = (\det A) I$** | Köşegende kofaktör | 7m58 |
| **Köşegen-dışı 0** | "Bozulmuş" matris det | 17m09 |
| **Cramer** | $x_j = \det(B_j)/\det(A)$ | 22m14 |
| **Cramer pratik değil** | $n+1$ det; LU kazanır | 27m05 |
| **det = hacim** | Kutu hacmi | 28m22 |
| **det Q = ±1** | Ortogonal = döndürülmüş küp | 35m38 |
| **Hacim = det ispatı** | 3 özellik | 33m42 |
| **Alan = $\|ad-bc\|$** | Paralelkenar; üçgen yarısı | 46m03 |
| **Koordinatlardan alan** | 3×3 det | 50m34 |
## ML Bağlantıları Özeti {#sec-ml-baglantilar}
::: {.callout-tip title="7 köprü"}
1. **$A^{-1}$ = adj/det** → Sembolik/implicit theorem; hesap için LU.
2. **Cramer** → Pratik değil; kavramsal kapalı-form.
3. **det = hacim** → Jacobian, normalizing flow yoğunluk düzeltmesi.
4. **det Q = ±1** → Ortogonal flow/RNN katmanları; log-det = 0.
5. **Koordinatlardan alan/hacim** → PointNet, mesh CNN.
6. **Aksiyom karakterizasyonu** → Değişmez çekirdekler.
7. **det ≈ 0** → Kötü-koşullu / dejenere / bilgi kaybı teşhisi.
:::
::: {.callout-important title="Tek bir şey alıp gideceksen"}
**$A^{-1}$ ve Cramer** zarif ama pratikte hep LU. **Asıl kalıcı fikir: det = hacim ölçeği** — Jacobian, olasılık ölçüsü, ortogonallik, computational geometry.
:::