NumPy ile Doğrusal Cebir
Matris çarpımı ve ayrıştırmalar yapın, doğrusal sistemleri çözün.
NumPy ile Doğrusal Cebir, CoddyKit'te ücretsiz bir Python Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Python Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Python Academy kursu toplamda 4 dersten oluşur.
np.dot ve @
Matris çarpımı için np.dot(A, B) veya @ işlecini kullanın (Python 3.5 ve sonrası).
import numpy as np
A = np.array([[1,2],[3,4]])
B = np.array([[5,6],[7,8]])
print(A @ B)
# [[19 22]
# [43 50]]
print(np.dot(A, B)) # same resultÖğe Öğe Çarpma ve Matris Çarpımı
*, öğe öğe çarpımdır (Hadamard çarpımı). @, matris çarpımıdır. Bu ikisini asla karıştırmayın.
import numpy as np
A = np.array([[1,2],[3,4]])
B = np.array([[2,0],[1,3]])
print(A * B) # [[ 2 0] [ 3 12]] — element-wise
print(A @ B) # [[ 4 6] [10 12]] — matrix multiplyTranspoz
arr.T, diziyi transpoze eder (satırları ve sütunları yer değiştirir). Daha yüksek boyutlarda np.transpose(arr, axes) kullanın.
import numpy as np
A = np.array([[1,2,3],[4,5,6]])
print(A.shape) # (2, 3)
print(A.T.shape) # (3, 2)
print(A.T)np.linalg.inv ve np.linalg.det
Matrisin tersini ve determinantını hesaplayın.
import numpy as np
A = np.array([[2.,1.],[1.,3.]])
print(np.linalg.inv(A))
# [[ 0.6 -0.2]
# [-0.2 0.4]]
print(np.linalg.det(A)) # 5.0Doğrusal Sistemleri Çözme
np.linalg.solve(A, b), LU ayrıştırmasını kullanarak Ax = b denklemini verimli biçimde çözer.
import numpy as np
# Solve: 2x + y = 5; x + 3y = 10
A = np.array([[2.,1.],[1.,3.]])
b = np.array([5.,10.])
x = np.linalg.solve(A, b)
print(x) # [1. 3.] → x=1, y=3Özdeğerler ve Özvektörler
np.linalg.eig(A), özdeğerleri ve özvektörleri döndürür. Simetrik matrisler için daha hızlı ve kararlı olan np.linalg.eigh kullanılır.
import numpy as np
A = np.array([[4., 2.], [1., 3.]])
vals, vecs = np.linalg.eig(A)
print("Eigenvalues:", vals) # [5. 2.]
print("Eigenvectors:\n", vecs)SVD: Tekil Değer Ayrıştırması
np.linalg.svd(A), A'yı U, Sigma ve Vt bileşenlerine ayırır. Boyut indirgeme (PCA) ve sözde tersler için kullanılır.
import numpy as np
A = np.array([[1,2],[3,4],[5,6]], dtype=float)
U, s, Vt = np.linalg.svd(A, full_matrices=False)
print("Singular values:", s)
# Reconstruct: U @ np.diag(s) @ Vt ≈ Anp.linalg.norm
Vektör ve matris normlarını hesaplayın.
import numpy as np
v = np.array([3., 4.])
print(np.linalg.norm(v)) # 5.0 (Euclidean)
print(np.linalg.norm(v, ord=1)) # 7.0 (Manhattan)
A = np.eye(3)
print(np.linalg.norm(A, "fro")) # 1.732 (Frobenius)Çapraz ve Dış Çarpımlar
3 boyutlu çapraz çarpım için np.cross(a, b). Dış çarpım için np.outer(a, b).
import numpy as np
a = np.array([1,0,0])
b = np.array([0,1,0])
print(np.cross(a, b)) # [0 0 1]
print(np.outer([1,2,3], [4,5]))
# [[ 4 5]
# [ 8 10]
# [12 15]]np.linalg.lstsq
Belirlenenden fazla bilinmeyene sahip sistemler için en küçük kareler çözümü (bilinmeyenlerden daha fazla denklem).
import numpy as np
# Fit y = ax + b to noisy data
X = np.column_stack([np.arange(5), np.ones(5)])
y = np.array([1.1, 2.0, 3.1, 3.9, 5.2])
coeffs, _, _, _ = np.linalg.lstsq(X, y, rcond=None)
print(f"slope={coeffs[0]:.2f}, intercept={coeffs[1]:.2f}")np.einsum
np.einsum, Einstein toplam gösterimini kullanarak herhangi bir tensör daraltmasını ifade eder — karmaşık doğrusal cebir işlemleri için son derece esnektir.
import numpy as np
A = np.random.rand(3, 4)
B = np.random.rand(4, 5)
# Matrix multiplication via einsum:
C = np.einsum("ij,jk->ik", A, B)
print(C.shape) # (3, 5)
# Trace:
M = np.eye(4)
print(np.einsum("ii->", M)) # 4.0Hızlı Kontrol
NumPy'de (Python 3.5 ve sonrası) matris çarpımını hangi işleç gerçekleştirir?
Özet
Matris çarpımı için @, doğrusal sistemler için np.linalg.solve, özdeğerler için np.linalg.eig ve ayrıştırma için np.linalg.svd kullanın. np.einsum, isteğe bağlı tensör daraltmalarını işler.
Sıkça Sorulan Sorular
“NumPy ile Doğrusal Cebir” dersi ücretsiz mi?
Evet — “NumPy ile Doğrusal Cebir” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Python Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Python Academy kursu toplamda 4 dersten oluşur.
“NumPy ile Doğrusal Cebir” dersinde ne öğreneceğim?
Matris çarpımı ve ayrıştırmalar yapın, doğrusal sistemleri çözün. Python Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Python Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Python Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.
“NumPy ile Doğrusal Cebir” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Python Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Python Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- NumPy Dizileri ve dtypes
- Dizi İşlemleri ve Yayınlama
- İndeksleme, Dilimleme ve Gelişmiş İndeksleme
- NumPy ile Doğrusal Cebir