Ma trận nghịch đảo A⁻¹ thỏa mãn A @ A⁻¹ = I. Tính thủ công phức tạp (minors, cofactors, adjoint, determinant). SciPy cung cấp scipy.linalg.inv.
Cú pháp
from scipy import linalg
import numpy as np
A = np.array([[7, 9], [33, 8]])
A_inv = linalg.inv(A)
print("Ma trận nghịch đảo:\n", A_inv)
Kết quả
[[-0.03319502 0.0373444 ] [ 0.13692946 -0.02904564]]
Giải thích
linalg.invdùng phân rã LU (hoặc SVD) ổn định số.- Chỉ hoạt động với ma trận vuông non-singular (det ≠ 0).
- Nếu ma trận suy biến →
LinAlgError.
Ứng dụng
- Giải hệ phương trình tuyến tính
Ax = b→x = A⁻¹b(thực tế dùnglinalg.solvenhanh và ổn định hơn). - Tính ma trận hiệp phương sai, least squares,...
Lưu ý
Không bao giờ dùng inv để giải hệ phương trình trong production. Dùng scipy.linalg.solve(A, b) hoặc np.linalg.solve.