numpy.linalg --- Các hàm đại số tuyến tính¶
Mô-đun con numpy.linalg cung cấp một tập hợp nhỏ các hàm đại số tuyến tính hoạt động trên các đối tượng numpy.ndarray. Các hàm hoạt động trên ma trận yêu cầu mảng hai chiều; truyền mảng có số chiều khác sẽ phát sinh ngoại lệ ValueError. Mô-đun con này không hỗ trợ các kiểu dữ liệu số phức.
Các hàm¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Tính phân tích Cholesky của một ma trận vuông xác định dương, đối xứng.
- Tham số:
A -- một ma trận vuông hai chiều, xác định dương và đối xứng.
- Trả về:
một
numpy.ndarraytam giác dướiLsao choA = L @ L.T.- Đưa ra:
ValueError -- nếu A không phải là ma trận vuông, không đối xứng, hoặc không xác định dương.
- numpy.linalg.det(m: ndarray) float¶
Tính định thức của một ma trận vuông.
- Tham số:
m -- một ma trận vuông hai chiều.
- Trả về:
định thức của m dưới dạng
floatcủa Python. Giá trị trả về luôn là số thực, ngay cả khi đầu vào là mảng số nguyên.- Đưa ra:
ValueError -- nếu m không phải là ma trận vuông.
Phép tính được thực hiện bằng phương pháp khử Gauss với chọn trục chính từng phần.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Tính các giá trị riêng và vectơ riêng của một ma trận vuông thực đối xứng.
- Tham số:
m -- một ma trận vuông hai chiều, thực và đối xứng.
- Trả về:
một tuple 2 phần tử
(eigenvalues, eigenvectors).eigenvalueslà một mảng một chiều có độ dàiN;eigenvectorslà một mảngN-nhân-Nmà các cột là các vectơ riêng tương ứng.- Đưa ra:
ValueError -- nếu m không phải là ma trận vuông, không đối xứng, hoặc nếu vòng lặp xoay Jacobi không hội tụ.
- numpy.linalg.inv(m: ndarray) ndarray¶
Tính ma trận nghịch đảo của một ma trận vuông.
- Tham số:
m -- một ma trận vuông hai chiều.
- Trả về:
ma trận nghịch đảo của m dưới dạng
numpy.ndarraykiểu float.- Đưa ra:
ValueError -- nếu m không phải là ma trận vuông hoặc là ma trận suy biến.
Phép nghịch đảo được thực hiện bằng phương pháp khử Gauss-Jordan.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Tính chuẩn 2-norm của một vectơ hoặc ma trận.
- Tham số:
x -- một
numpy.ndarray,tuple,list, hoặcrange.axis -- trục tùy chọn để tính chuẩn. Nếu là
None(mặc định), chuẩn được tính trên toàn bộ đầu vào đã được làm phẳng và trả về một giá trịfloatđơn. Ngược lại, chuẩn được rút gọn theo trục đó và trả về mộtnumpy.ndarray.
- Trả về:
hoặc là
floatcủa Python (khi axis làNonehoặc khi x là một đối tượng có thể lặp khác ndarray) hoặc mộtnumpy.ndarrayvới trục đó đã bị loại bỏ.
Chuẩn 2-norm được tính theo công thức
sqrt(sum(x*x))sử dụng giá trị trung bình chạy ổn định về mặt số học, do đó phép toán không cần bộ nhớ lưu trữ bổ sung tỉ lệ với kích thước đầu vào.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Phân tích một ma trận thành tích của một ma trận trực chuẩn và một ma trận tam giác trên.
- Tham số:
m -- một ma trận hai chiều có kích thước
(M, N).mode -- có thể là
'reduced'(mặc định) hoặc'complete'. Ở chế độ'complete',Qcó kích thước(M, M)vàRcó kích thước(M, N). Ở chế độ'reduced',QvàRđược cắt bớt theomin(M, N)cột và hàng đầu tiên.
- Trả về:
một tuple 2 phần tử
(Q, R)gồm các đối tượngnumpy.ndarraysao chom == Q @ R, trong đóQlà trực chuẩn vàRlà tam giác trên.- Đưa ra:
TypeError -- nếu m không phải là
numpy.ndarray.ValueError -- nếu m không phải là mảng hai chiều hoặc mode không thuộc các giá trị được chấp nhận.
Phân tích được thực hiện thông qua các phép xoay Givens liên tiếp.