Algebra Linear dengan NumPy
Lakukan pendaraban matriks, penguraian dan penyelesaian sistem linear.
Algebra Linear dengan NumPy ialah pelajaran Python Academy percuma di CoddyKit. Ini ialah pelajaran 4 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Python Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Python Academy merangkumi sejumlah 4 pelajaran.
np.dot dan @
Pendaraban 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 resultPendaraban pada Setiap Elemen berbanding Matriks
* ialah pendaraban pada setiap elemen (hasil darab Hadamard). @ ialah pendaraban matriks. Jangan sesekali keliru antara kedua-duanya.
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 multiplyTransposisi
arr.T mentransposisikan tatasusunan (menukar baris dan lajur). 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
Kira songsangan dan penentu 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.0Menyelesaikan Sistem Linear
np.linalg.solve(A, b) menyelesaikan Ax = b dengan cekap menggunakan penguraian 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=3Nilai Eigen dan Vektor Eigen
np.linalg.eig(A) mengembalikan nilai eigen dan vektor eigen. Gunakan np.linalg.eigh untuk matriks simetri (lebih pantas 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: Penguraian Nilai Singular
np.linalg.svd(A) menguraikan A kepada U, Sigma dan Vt. Ia digunakan untuk pengurangan dimensi (PCA) dan songsangan 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 ≈ Anp.linalg.norm
Kira 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 Darab Silang dan Luar
np.cross(a, b) untuk hasil darab silang 3-D. np.outer(a, b) untuk hasil darab luar.
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
Penyelesaian kuasa dua terkecil untuk sistem terlebih tentu (lebih banyak persamaan daripada anu).
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 sebarang penguncupan tensor menggunakan tatatanda penjumlahan Einstein — amat fleksibel untuk algebra 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.0Semakan Pantas
Operator apakah yang melaksanakan pendaraban matriks dalam NumPy (Python 3.5+)?
Rumusan
Gunakan @ untuk pendaraban matriks, np.linalg.solve untuk sistem linear, np.linalg.eig untuk nilai eigen dan np.linalg.svd untuk penguraian. np.einsum mengendalikan penguncupan tensor sewenang-wenangnya.
Pelajari Python dengan tutor kecerdasan buatan — percuma
Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.
- Kursus
- 76
- Pelajaran
- 320
Soalan Lazim
Adakah pelajaran “Algebra Linear dengan NumPy” percuma?
Ya — teks penuh “Algebra Linear dengan NumPy” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Python Academy, tingkat taraf kepada CoddyKit PRO. Kursus Python Academy merangkumi sejumlah 4 pelajaran.
Apakah yang akan saya pelajari dalam “Algebra Linear dengan NumPy”?
Lakukan pendaraban matriks, penguraian dan penyelesaian sistem linear. Anda berlatih Python Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.
Adakah saya memerlukan pengalaman untuk memulakan Python Academy?
Tiada pengalaman terdahulu diperlukan. Pembelajaran Python Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 4 daripada 4.
Berapa lamakah pelajaran “Algebra Linear dengan NumPy” diambil?
Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.
Bolehkah saya menulis dan menjalankan kod dalam pelajaran Python Academy ini?
Ya. Setiap pelajaran Python Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.
Semua pelajaran dalam kursus ini
- Tatasusunan NumPy dan dtypes
- Operasi Tatasusunan dan Penyiaran
- Pengindeksan, Pemotongan dan Pengindeksan Lanjutan
- Algebra Linear dengan NumPy