0Pricing
Python Academy · Pelajaran

Aljabar Linear dengan NumPy

Lakukan perkalian matriks, dekomposisi, dan penyelesaian sistem linear.

Aljabar Linear dengan NumPy adalah pelajaran Python Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Python Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Python Academy mencakup 4 pelajaran total.

np.dot dan @

Perkalian matriks: gunakan np.dot(A, B) atau operator @ (Python 3.5+).

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

Perkalian Elemen demi Elemen vs Matriks

* adalah operasi per elemen (hasil kali Hadamard). @ adalah perkalian matriks. Jangan pernah tertukar.

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

Transposisi

arr.T mentransposisikan larik (menukar baris dan kolom). Untuk dimensi yang lebih tinggi, gunakan np.transpose(arr, axes).

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 dan np.linalg.det

Hitung invers dan determinan matriks.

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

Menyelesaikan Sistem Linear

np.linalg.solve(A, b) menyelesaikan Ax = b secara efisien menggunakan dekomposisi LU.

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

Nilai Eigen dan Vektor Eigen

np.linalg.eig(A) mengembalikan nilai eigen dan vektor eigen. Gunakan np.linalg.eigh untuk matriks simetris (lebih cepat dan lebih stabil).

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: Dekomposisi Nilai Singular

np.linalg.svd(A) menguraikan A menjadi U, Sigma, Vt. Ini digunakan untuk reduksi dimensi (PCA) dan invers semu.

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

Hitung norma vektor dan matriks.

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)

Hasil Kali Cross dan Outer

np.cross(a, b) digunakan untuk hasil kali cross 3-D. np.outer(a, b) digunakan untuk hasil kali outer.

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

Solusi kuadrat terkecil untuk sistem yang terlalu ditentukan (jumlah persamaan lebih banyak daripada jumlah variabel yang tidak diketahui).

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 menyatakan kontraksi tensor apa pun menggunakan notasi penjumlahan Einstein—sangat fleksibel untuk aljabar linear yang kompleks.

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

Pemeriksaan Cepat

Operator apa yang melakukan perkalian matriks dalam NumPy (Python 3.5+)?

Ringkasan

Gunakan @ untuk perkalian matriks, np.linalg.solve untuk sistem linear, np.linalg.eig untuk nilai eigen, dan np.linalg.svd untuk dekomposisi. np.einsum menangani kontraksi tensor arbitrer.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Aljabar Linear dengan NumPy” gratis?

Ya — teks lengkap “Aljabar Linear dengan NumPy” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Python Academy, upgrade ke CoddyKit PRO. Kursus Python Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Aljabar Linear dengan NumPy”?

Lakukan perkalian matriks, dekomposisi, dan penyelesaian sistem linear. Kamu berlatih Python Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Python Academy?

Tidak diperlukan pengalaman sebelumnya. Python Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Aljabar Linear dengan NumPy” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Python Academy ini?

Ya. Setiap pelajaran Python Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Array NumPy dan dtype
  2. Operasi Array dan Broadcasting
  3. Pengindeksan, Pemotongan, dan Pengindeksan Lanjutan
  4. Aljabar Linear dengan NumPy
← Kembali ke Python Academy