Độ dài của một vectơ được gọi là một chỉ tiêu vectơ. Trong toán học, chuẩn của một vectơ v, ký hiệu là. v. , là độ dài của v
Định mức là gì?
Định mức là một cách tiếp cận để đo kích thước của vectơ, ma trận hoặc tenxơ. Nói cách khác, các định mức là một lớp hàm cho phép chúng ta định lượng độ lớn của một vectơ.
Chuẩn của vectơ là số đo độ dài của vectơ. Chuẩn của vectơ là số đo độ dài của vectơ
Các loại định mức
Có tổng cộng ba loại định mức
- định mức Euclide
- định mức Manhattan
- định mức tối đa
Trong toán học, chuẩn Euclide, hay khoảng cách Euclide, hay chuẩn L2, của một vectơ v trong không gian n chiều là căn bậc hai của tổng bình phương các giá trị tuyệt đối của các thành phần của nó. Khoảng cách Euclide là khoảng cách đường thẳng “thông thường” giữa hai điểm trong Euclide
np. linalg. định mức
Np. linalg. Norm[] là một hàm thư viện numpy được sử dụng để tính toán một trong tám định mức ma trận hoặc định mức vectơ khác nhau . . . . . . . . . . . . . . . . . Np. linalg. phương thức Norm[] lấy arr, ord, axis, và keepdims làm đối số và trả về chuẩn của ma trận hoặc vectơ đã cho.
Làm thế nào để sử dụng np. linalg. chức năng định mức []?
Để sử dụng np. linalg. Norm[] trong tệp Python, hãy nhập mô-đun numpy
cú pháp
numpy.linalg.norm[arr, ord=None, axis=None, keepdims=False]
Thông số
các np. linalg. Norm[] hàm chủ yếu nhận bốn tham số
- mảng . Mảng n chiều đầu vào.
- thứ tự. Đây là viết tắt của các đơn đặt hàng, có nghĩa là chúng tôi muốn lấy giá trị định mức. Giá trị định mức phụ thuộc vào tham số này. Đây có thể là tám loại đó là.
- trục. Nếu trục là số nguyên, giá trị vectơ được tính cho trục của x. Nếu trục là 2-tuple, thì giá trị ma trận của ma trận đã chỉ định được tính. Nếu trục không tồn tại, thì tiêu chí vectơ [khi x là 1-D] hoặc tiêu chí ma trận [khi x là 2D] được trả về.
- keepdims. Nếu đối số keepdims được đặt thành True, thì các trục được định chuẩn sẽ để lại trong kết quả dưới dạng các kích thước có kích thước là một. Với tùy chọn keepdims, kết quả sẽ phát chính xác so với x gốc.
Giá trị trả về
Hàm linalg Norm[] trả về chuẩn của ma trận hoặc vectơ đã cho
Tìm chuẩn của mảng
Để tìm chuẩn của một mảng trong Python, hãy sử dụng np. linalg. hàm định mức []
# Program to calculate the norm of an array import numpy as np # Creating an array arr1 = np.arange[12]-2 arr2 = arr1.reshape[3, 4] # Printing the array print["First array is: \n", arr1] print["\nSecond array is:\n ", arr2] # Calculating norm value with different order value print[np.linalg.norm[arr1], "\n"] print[np.linalg.norm[arr2], "\n"] print[np.linalg.norm[arr1, np.inf], "\n"] print[np.linalg.norm[arr2, np.inf], "\n"] print[np.linalg.norm[arr1, -np.inf], "\n"] print[np.linalg.norm[arr1, -np.inf], "\n"] print[np.linalg.norm[arr1, 1], "\n"] print[np.linalg.norm[arr2, 1], "\n"] print[np.linalg.norm[arr1, -1], "\n"] print[np.linalg.norm[arr1, -1]]
đầu ra
The array is: [[[1 2] [2 3] [3 4]] [[4 5] [4 5] [3 4]] [[5 6] [4 5] [4 5]]] Shape of the array is: [3, 3, 2] Output is: [ 9 12] ➜ pyt clear ➜ pyt python3 app.py First array is: [-2 -1 0 1 2 3 4 5 6 7 8 9] Second array is: [[-2 -1 0 1] [ 2 3 4 5] [ 6 7 8 9]] 17.029386365926403 17.029386365926403 9.0 30.0 0.0 0.0 48.0 15.0 /Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/numpy/linalg/linalg.py:2514: RuntimeWarning: divide by zero encountered in reciprocal absx **= ord 0.0 0.0
Giải trình
Trong ví dụ này, trước tiên chúng tôi đã tạo hai mảng, một mảng là 1 chiều và mảng kia là hai chiều và chúng tôi đã in ra
Sau đó, ta tính giá trị định mức với các giá trị khác nhau của tham số thứ tự. Chúng ta có thể thấy rằng, đối với các tham số khác, giá trị sẽ khác.
Tìm ước của các vectơ đã cho
Để tìm chuẩn của các vectơ đã cho, hãy sử dụng hàm linalg Norm[].
# Program to calculate norm of an array import numpy as np # Making vector array arr1 = np.array[[[5, 4, 3], [-3, 2, 1]]] print["The array is: \n", arr1] # Printing Norm for different order values print[np.linalg.norm[arr1, axis=0], "\n"] print[np.linalg.norm[arr1, axis=1], "\n"] print[np.linalg.norm[arr1, ord=1, axis=0], "\n"]
đầu ra
The array is: [[ 5 4 3] [-3 2 1]] [5.83095189 4.47213595 3.16227766] [7.07106781 3.74165739] [8. 6. 4.]
Giải trình
Trong ví dụ này, đầu tiên chúng ta tạo một mảng vectơ, sau đó chúng ta in mảng đó. Cuối cùng, chúng tôi đã gọi linalg. Norm[] để tính giá trị định mức cho các giá trị đơn hàng khác nhau.
Đó là nó cho np. linalg. hàm định mức []
Bài viết trước np. dấu vết. Cách sử dụng Phương thức Numpy trance[] trong Python
Bài viết tiếp theo np. tenordot. Cách sử dụng Phương thức tensordot[] trong Python
Ankit Lathiya
Ankit Lathiya là Bậc thầy về Ứng dụng Máy tính theo chuyên môn và là Nhà phát triển Android và Laravel chuyên nghiệp, đồng thời là một trong những tác giả của blog này