0Pricing
Python Academy · Ders

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 multiply

Transpoz

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

Doğ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 ≈ A

np.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.0

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

  1. NumPy Dizileri ve dtypes
  2. Dizi İşlemleri ve Yayınlama
  3. İndeksleme, Dilimleme ve Gelişmiş İndeksleme
  4. NumPy ile Doğrusal Cebir
← Python Academy Sayfasına Dön