20  Determinant Formülleri ve Kofaktörler

Üç yüz — pivot, büyük formül, kofaktör

NotBölüm bilgisi

20.1 Bu Derste Ne Var?

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

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
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
Şekil 20.1: Determinantın üç yüzü ve maliyetleri.
İpucuBuilder 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.

20.2 2×2’yi Özelliklerden Türetme

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

20.3 Survivor’lar ve Büyük Formül

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

20.4 Permütasyon İşareti

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.

20.5 Çok Sıfır = Az Survivor

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

20.6 Kofaktör Açılımı

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

20.7 Üç Formülün Karşılaştırması

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
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}")

20.8 Tridiagonal Örnek — Recursion ve Periyot 6

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!

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

20.9 Bu Dersin Özeti

  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.
ÖnemliTek 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).

20.10 Kontrol Soruları

\(\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\).

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

  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}\).

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.

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

20.12 Sonraki Ders İçin Hazırlık

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.
UyarıDers 20 öncesi
  • Egzersiz 5 (formül eşdeğerliği).
  • np.linalg.slogdet ile kararlı log-det dene.

20.13 Anahtar Kavramlar (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

20.14 ML Bağlantıları Özeti

İpucu7 köprü
  1. Det = işaretli eşleştirmeler → Permanent zor; DPP kolay.
  2. Kofaktör recursive → DP prototipi.
  3. Pratik det = LUdet/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.
ÖnemliTek 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.