---
title: "Determinant Formülleri ve Kofaktörler"
subtitle: "Üç yüz — pivot, büyük formül, kofaktör"
---
::: {.callout-note title="Bölüm bilgisi"}
- **Strang'in videosu:** [YouTube — Lecture 19: Determinant Formulas and Cofactors](https://www.youtube.com/watch?v=23LLB9mNJvc) (≈53 dk)
- **OCW sayfası:** [MIT 18.06SC — Lecture 19](https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/resources/lecture-19-determinant-formulas-and-cofactors/)
- **Okuma süresi:** ≈40 dk
:::
## Bu Derste Ne Var? {#sec-bu-derste}
Ders 18'in özelliklerinden açık formüller.
1. **Büyük formül:** $\det A = \sum \pm a_{1\alpha} a_{2\beta} \cdots$, **$n!$ terim**.
2. **Permütasyon işareti** (parite).
3. **Kofaktör açılımı:** $n \times n$ → $(n-1) \times (n-1)$ recursive.
4. **Üç formülün karşılaştırması**; tridiagonal recursion.
> *"The survivors have one entry from each row and each column."* — Strang, 9:10
```{mermaid}
%%| label: fig-concept-map
%%| fig-cap: "Determinantın üç yüzü ve maliyetleri."
flowchart LR
DET["det A"] --> PIVOT["Pivot çarpımı<br/>(LU, O(n³))<br/>⭐ pratik"]
DET --> BIG["Büyük formül<br/>(n! terim, O(n!))<br/>teori"]
DET --> COF["Kofaktör açılımı<br/>(recursive, O(n!))<br/>seyrek/türetme"]
PIVOT --> NUM["np.linalg.det<br/>np.linalg.slogdet"]
BIG --> PERM["Permütasyon işareti<br/>Levi-Civita ε"]
COF --> INV["Ters formülü (Ders 20)<br/>A⁻¹ = adj(A)/det A"]
style PIVOT fill:#fff3e0,stroke:#e67e22,stroke-width:3px
style NUM fill:#fce4ec,stroke:#c2185b,stroke-width:2px
```
::: {.callout-tip title="Builder Notu — ML'de Determinant"}
- **Pratik:** `np.linalg.det` her zaman LU. Büyük matriste **`slogdet`** (kararlı log-det).
- **Determinantal point processes (DPP):** çeşitlilik (diversity); determinant kolay olduğu için verimli.
- **Permanent** (işaretsiz det) **#P-tam** → boson sampling, eşleştirme sayma.
- **Permütasyon paritesi = Levi-Civita** → antisimetrik tensörler, **fermiyonik sinir ağları (FermiNet)**.
- **Recursion (tridiagonal)** → HMM forward-backward, DP prototipi.
:::
## 2×2'yi Özelliklerden Türetme {#sec-2x2}
İlk satır $(a, b) = (a, 0) + (0, b)$:
$$
\begin{vmatrix} a & b \\ c & d \end{vmatrix} = ad \begin{vmatrix} 1 & 0 \\ 0 & 1 \end{vmatrix} + bc \begin{vmatrix} 0 & 1 \\ 1 & 0 \end{vmatrix} = ad - bc
$$
(Sıfır kolonlu terimler 0; köşegen 1; anti-köşegen takasla −1.)
## Survivor'lar ve Büyük Formül {#sec-buyuk-formul}
3×3'te $3^3 = 27$ terim, ama çoğu sıfır (tekrarlı kolon). **Survivor** = her satır + kolondan tam bir giriş = **permütasyon** = $n!$ tane.
$$
\boxed{\det A = \sum_{\sigma \in S_n} (\text{sgn}\,\sigma) \, a_{1, \sigma(1)} \cdots a_{n, \sigma(n)}}
$$
| Boyut | Terim sayısı |
|-------|--------------|
| 2 | 2 |
| 3 | 6 |
| 4 | 24 |
| 10 | 3.6M |
## Permütasyon İşareti {#sec-isaret}
Permütasyon birim sıraya getirmek için gereken **takas sayısının paritesi**.
**Örnek (4×4 anti-köşegen):** kolon sırası $(4, 3, 2, 1)$. $1 \leftrightarrow 4$, $2 \leftrightarrow 3$ → 2 takas → **+**.
**3×3 anti-köşegen** ($3, 2, 1$): 1 takas → **−**. (Boyuta bağlı; "ana köşegen +, anti-köşegen −" kuralı sadece 3×3 için.)
**Builder Notu:** Parite = **Levi-Civita sembolü** $\varepsilon_{ijk\ldots}$. Antisimetrik tensörler, çapraz çarpım, fermiyonik ağlar bununla yazılır.
## Çok Sıfır = Az Survivor {#sec-seyrek}
Strang'in 4×4 örneği (köşelerde 1'ler) — 24 terimin çoğu sıfır, $+1$ ve $-1$ birbirini götürür → $\det = 0$ (eşit satır).
Seyrek matrislerde büyük formül elle hızlı.
## Kofaktör Açılımı {#sec-kofaktor}
Büyük formülü ilk satırın girişlerine göre grupla:
$$
\det A = a_{11} C_{11} + a_{12} C_{12} + \cdots + a_{1n} C_{1n}
$$
$C_{ij}$ = $a_{ij}$'nin **kofaktörü** = $(n-1) \times (n-1)$ minörün determinantı × işaret:
$$
C_{ij} = (-1)^{i+j} \det(M_{ij})
$$
**Checkerboard işaret:** $(i+j)$ çift → $+$, tek → $-$.
3×3 ilk satır kofaktörü:
$$
\det A = a_{11}(a_{22}a_{33} - a_{23}a_{32}) - a_{12}(\ldots) + a_{13}(\ldots)
$$
2×2 doğrulama: $\det = a \cdot d + b \cdot (-c) = ad - bc$ ✓.
**İpucu:** En çok sıfır içeren satır/kolon boyunca aç.
**Builder Notu:** Recursive → dinamik programlama prototipi. Saf hâli O(n!), pratik değil; ama **seyrek matriste** ve **simgesel türetmede** (Ders 20 ters formülü) kullanışlı.
## Üç Formülün Karşılaştırması {#sec-uc-formul}
| Yöntem | Maliyet | Ne için? |
|--------|---------|----------|
| **Pivot (LU)** | $O(n^3)$ | Pratik hesap |
| **Büyük formül** | $O(n!)$ | Teori, ispat |
| **Kofaktör** | $O(n!)$ | Seyrek, türetme |
```{python}
#| label: code-three-formulas
#| code-fold: false
import numpy as np
A = np.array([[2, 0, 1], [1, 3, 2], [0, 1, 1]], dtype=float)
print(f"det(A) (LU) = {np.linalg.det(A):.4f}")
# Kararli log-det (büyük matrislerde det taşar)
sign, logabsdet = np.linalg.slogdet(A)
print(f"sign = {sign}, |det| = exp({logabsdet:.4f}) = {np.exp(logabsdet):.4f}")
```
## Tridiagonal Örnek — Recursion ve Periyot 6 {#sec-tridiagonal}
Tüm girişleri 1 olan tridiagonal $A_n$. İlk satır kofaktörüyle:
$$
\det(A_n) = \det(A_{n-1}) - \det(A_{n-2})
$$
$\det(A_1) = 1, \det(A_2) = 0$:
$$
1, 0, -1, -1, 0, 1, 1, 0, -1, \ldots
$$
**Periyot 6**!
```{python}
#| label: code-tridiagonal
#| code-fold: false
def tridet(n):
if n == 1: return 1
if n == 2: return 0
return tridet(n - 1) - tridet(n - 2)
print("tridiagonal det:", [tridet(k) for k in range(1, 13)])
```
**Builder Notu:** Lineer recurrence (Fibonacci akrabası) = **DP prototipi**. Tridiagonal matrisler 1-D Laplacian, spline, HMM forward-backward; tridiagonal sistemler O(n) (Thomas).
## Bu Dersin Özeti {#sec-ozet}
1. 2×2 lineerlikle türetildi.
2. **Survivor** = permütasyon.
3. **Büyük formül**: $n!$ terim.
4. **İşaret** = parite.
5. **Seyreklik** → az survivor.
6. **Kofaktör** = (n−1) recursive indirgeme.
7. **İşaret** $(-1)^{i+j}$.
8. **Formül**: $\det A = \sum a_{ij} C_{ij}$.
9. **Üç formül**.
10. **Tridiagonal recursion**, periyot 6.
::: {.callout-important title="Tek bir cümle"}
Determinantın üç yüzü: **pivot çarpımı** ($O(n^3)$, pratik), **büyük formül** ($n!$ terim, teori), **kofaktör** (recursive, seyrek/türetme); pratikte hep LU (`np.linalg.det` / `slogdet`).
:::
## Kontrol Soruları {#sec-sorular}
::: {.callout-note collapse="true" title="Soru 1: A = ((2,0,1),(1,3,2),(0,1,1)) — ilk satır kofaktörü."}
$\det = 2 \cdot C_{11} + 0 + 1 \cdot C_{13}$.
$C_{11} = +\det\begin{pmatrix} 3 & 2 \\ 1 & 1 \end{pmatrix} = 1$. $C_{13} = +\det\begin{pmatrix} 1 & 3 \\ 0 & 1 \end{pmatrix} = 1$.
$\det = 2 + 1 = 3$.
:::
::: {.callout-note collapse="true" title="Soru 2: 4×4 ve 3×3 anti-köşegen işareti."}
- **4×4** $(4,3,2,1)$: $1 \leftrightarrow 4$, $2 \leftrightarrow 3$ → 2 takas → **$+$**.
- **3×3** $(3,2,1)$: $1 \leftrightarrow 3$ → 1 takas → **$-$**.
Boyuta bağlı; parite genel.
:::
::: {.callout-note collapse="true" title="Soru 3: 4×4, sadece köşegen + (1,4), (4,1) — kaç survivor?"}
1. Köşegen $1, 2, 3, 4$ → bir survivor.
2. $(1,4)$ ve $(4,1)$ + $a_{22}, a_{33}$ → permütasyon $(4, 2, 3, 1)$ → ikinci survivor.
**2 survivor.** $1 \leftrightarrow 4$ tek takas → işaret $-$. $\det = a_{11}a_{22}a_{33}a_{44} - a_{14}a_{22}a_{33}a_{41}$.
:::
::: {.callout-note collapse="true" title="Soru 4: Permanent neden zor? Recursion ML'de nerede?"}
**Det vs permanent:** Aynı $n!$ terim, fark işaretler.
- **Det:** işaretler eliminasyonu kullanılabilir kılar → O(n³).
- **Permanent:** işaret yok → **#P-tam** (boson sampling, bipartite eşleştirme).
**ML'de:**
- **DPP:** çeşitlilik modelleme (det kolay → verimli).
- **Recursion (Tridiagonal):** HMM forward-backward, RNN, DP.
- **Pratik:** `slogdet` her zaman LU.
:::
## Egzersizler {#sec-egzersizler}
**Egzersiz 1.** $A = \begin{pmatrix} 1 & 0 & 0 & 2 \\ 0 & 3 & 0 & 0 \\ 4 & 0 & 5 & 0 \\ 0 & 0 & 0 & 6 \end{pmatrix}$ → en çok sıfır içeren satırla kofaktör.
**Egzersiz 2.** 3×3 büyük formül 6 terimi; permütasyon $(3, 1, 2)$ işareti.
**Egzersiz 3.** Köşegen 2, komşular 1 tridiagonal recursion: $\det(A_n) = ?$
**Egzersiz 4.** *(Python)* Üç yöntem karşılaştırma + `slogdet`.
**Egzersiz 5.** *İspatla:* Kofaktör formülü = büyük formül. Ders 20 (Cramer) temeli.
## Sonraki Ders İçin Hazırlık {#sec-sonraki}
**Ders 20: Cramer Kuralı, Ters Matris ve Hacim**
- $A^{-1} = \frac{1}{\det A} C^T$ (adjugate formülü).
- **Cramer:** $A\mathbf{x} = \mathbf{b}$ → $x_i = \det(B_i) / \det(A)$.
- **Hacim**: $\det$ = paralelyüz hacmi.
::: {.callout-warning title="Ders 20 öncesi"}
- Egzersiz 5 (formül eşdeğerliği).
- `np.linalg.slogdet` ile kararlı log-det dene.
:::
## Anahtar Kavramlar (Cheat Sheet) {#sec-cheat-sheet}
| Kavram | Tanım | Strang'da |
|--------|-------|-----------|
| **2×2 türetme** | Lineerlik → ad − bc | 2m04 |
| **Survivor** | Permütasyon | 6m13 |
| **Büyük formül** | $\sum \pm a_{1\alpha} \cdots$, $n!$ | 16m39 |
| **Parite** | Takas sayısı (±) | 19m50 |
| **Seyreklik** | Az survivor | 22m36 |
| **Kofaktör fikri** | $(n-1)$ recursive | 28m53 |
| **$C_{ij} = (-1)^{i+j} \det M_{ij}$** | Checkerboard | 36m09 |
| **Kofaktör formülü** | $\det A = \sum a_{ij} C_{ij}$ | 39m49 |
| **Üç formül** | Pivot / büyük / kofaktör | 43m01 |
| **Tridiagonal periyot 6** | $A_n = A_{n-1} - A_{n-2}$ | 52m48 |
## ML Bağlantıları Özeti {#sec-ml-baglantilar}
::: {.callout-tip title="7 köprü"}
1. **Det = işaretli eşleştirmeler** → Permanent zor; DPP kolay.
2. **Kofaktör recursive** → DP prototipi.
3. **Pratik det = LU** → `det`/`slogdet`.
4. **Parite = Levi-Civita** → Antisimetrik tensör, FermiNet.
5. **DPP** → Çeşitlilik modelleme.
6. **Tridiagonal recursion** → HMM, spline, 1-D Laplacian.
7. **`slogdet`** → Gaussian likelihood, normalizing flows kararlı log-det.
:::
::: {.callout-important title="Tek bir şey alıp gideceksen"}
Üç eşdeğer formül: pivot ($O(n^3)$, pratik), büyük formül ($n!$ terim), kofaktör (recursive). Pratikte hep LU; **`slogdet`** büyük matriste kararlı log-det.
:::