Ma trận hoặc chỉ tiêu vector.
Hàm này có thể trả về một trong tám chỉ tiêu ma trận khác nhau hoặc một trong số số chỉ tiêu vectơ vô hạn (được mô tả bên dưới), tùy thuộc vào giá trị của tham số ord.
Parametersxarray_likexarray_likeMảng đầu vào. Nếu trục không có, x phải là 1-D hoặc 2-D, trừ khi ord không. Nếu cả trục và ord không có, 2 bình thường của x.ravel sẽ được trả về.
ord {không phải là int, inf, -inf, ‘fro,‘ nuc,}, tùy chọn{non-zero int, inf, -inf, ‘fro’, ‘nuc’}, optionalThứ tự của định mức (xem bảng theo Notes). Inf có nghĩa là đối tượng Numpy từ inf. Mặc định là không có.
trục {none, int, 2-tuple của ints}, tùy chọn.{None, int, 2-tuple of ints}, optional.Nếu trục là một số nguyên, nó chỉ định trục của X dọc theo đó để tính toán các chỉ tiêu vectơ. Nếu trục là 2-tuple, nó chỉ định các trục giữ ma trận 2 chiều và các chỉ tiêu ma trận của các ma trận này được tính toán. Nếu trục không có thì chỉ định vectơ (khi x là 1-d) hoặc định mức ma trận (khi x là 2-d) được trả về. Mặc định là không có.
Mới trong phiên bản 1.8.0.
Keepdimsbool, tùy chọnbool, optionalNếu điều này được đặt thành True, các trục được định mức được để lại trong kết quả là kích thước với kích thước một. Với tùy chọn này, kết quả sẽ phát sóng chính xác so với x ban đầu.
Mới trong phiên bản 1.10.0.
ReturnSnfloat hoặc ndarraynfloat or ndarrayĐịnh mức của ma trận hoặc vectơ.
Ghi chú
Đối với các giá trị của >>> LA.norm(a) 7.745966692414834 >>> LA.norm(b) 7.745966692414834 >>> LA.norm(b, 'fro') 7.745966692414834 >>> LA.norm(a, np.inf) 4.0 >>> LA.norm(b, np.inf) 9.0 >>> LA.norm(a, -np.inf) 0.0 >>> LA.norm(b, -np.inf) 2.0 0, kết quả là, nói đúng, không phải là một toán học ‘định mức, nhưng nó vẫn có thể hữu ích cho các mục đích số khác nhau.
Các chỉ tiêu sau đây có thể được tính toán:
Không có | Frobenius Norm | 2-norm |
‘FRO | Frobenius Norm | ‘FRO |
- | NUC | ‘FRO |
- | NUC | max(abs(x)) |
-inf | chuẩn mực hạt nhân | min(abs(x)) |
0 | ‘FRO | - |
1 | NUC | chuẩn mực hạt nhân |
-1 | Inf | chuẩn mực hạt nhân |
2 | Inf | chuẩn mực hạt nhân |
-2 | Inf | chuẩn mực hạt nhân |
Inf | ‘FRO | sum(abs(x)**ord)**(1./ord) |
-
NUC
chuẩn mực hạt nhân
Inf
Max (sum (abs (x), trục = 1))
1Min (tổng (abs (x), trục = 1))
sum (x! = 0)
>>> from numpy import linalg as LA >>> a = np.arange(9) - 4 >>> a array([-4, -3, -2, ..., 2, 3, 4]) >>> b = a.reshape((3, 3)) >>> b array([[-4, -3, -2], [-1, 0, 1], [ 2, 3, 4]])
>>> LA.norm(a) 7.745966692414834 >>> LA.norm(b) 7.745966692414834 >>> LA.norm(b, 'fro') 7.745966692414834 >>> LA.norm(a, np.inf) 4.0 >>> LA.norm(b, np.inf) 9.0 >>> LA.norm(a, -np.inf) 0.0 >>> LA.norm(b, -np.inf) 2.0
>>> LA.norm(a, 1) 20.0 >>> LA.norm(b, 1) 7.0 >>> LA.norm(a, -1) -4.6566128774142013e-010 >>> LA.norm(b, -1) 6.0 >>> LA.norm(a, 2) 7.745966692414834 >>> LA.norm(b, 2) 7.3484692283495345
>>> LA.norm(a, -2) 0.0 >>> LA.norm(b, -2) 1.8570331885190563e-016 # may vary >>> LA.norm(a, 3) 5.8480354764257312 # may vary >>> LA.norm(a, -3) 0.0
Max (sum (abs (x), trục = 0))
>>> c = np.array([[ 1, 2, 3], ... [-1, 1, 4]]) >>> LA.norm(c, axis=0) array([ 1.41421356, 2.23606798, 5. ]) >>> LA.norm(c, axis=1) array([ 3.74165739, 4.24264069]) >>> LA.norm(c, ord=1, axis=1) array([ 6., 6.])
như sau
>>> m = np.arange(8).reshape(2,2,2) >>> LA.norm(m, axis=(1,2)) array([ 3.74165739, 11.22497216]) >>> LA.norm(m[0, :, :]), LA.norm(m[1, :, :]) (3.7416573867739413, 11.224972160321824)