Hướng dẫn matrix determinant python - xác định ma trận python

Nội dung chính

  • Thực hiện đại số tuyến tính với Python
  • Điều kiện tiên quyết
  • Sản phẩm bên trong
  • Sản phẩm chấm
  • Chuyển vị
  • Dấu vết
  • Thứ hạng
  • Đúng là nghịch đảo
  • Đúng là nghịch đảo
  • Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự.
  • Pseudo nghịch đảo
  • Trong numpy, cả hai giá trị riêng và eigenvector đều có thể được tính đồng thời bằng cách sử dụng hàm Eig ().
  • Python có nhân số ma trận không?
  • Làm thế nào để bạn giải một ma trận trong Python?
  • Làm thế nào để bạn tạo một chức năng ma trận trong Python?
  • Làm thế nào để bạn viết một ma trận 3x3 trong Python?

Thực hiện đại số tuyến tính với Python

Hướng dẫn matrix determinant python - xác định ma trận python

Ảnh của Isaiah Bekkers trên unplash

Khoảng 30 trận40% kiến ​​thức toán học cần thiết cho khoa học dữ liệu và học máy đến từ đại số tuyến tính. Hoạt động ma trận đóng một vai trò quan trọng trong đại số tuyến tính. Hôm nay, chúng tôi thảo luận về 10 hoạt động ma trận như vậy với sự trợ giúp của thư viện Numpy mạnh mẽ. Numpy thường được sử dụng để thực hiện các tính toán số trong Python. Nó cũng có các lớp đặc biệt và gói phụ cho các hoạt động ma trận. Việc sử dụng vector hóa cho phép Numpy thực hiện các hoạt động ma trận hiệu quả hơn bằng cách tránh nhiều vòng cho các vòng lặp.

Tôi sẽ bao gồm ý nghĩa, mô tả nền và ví dụ mã cho mỗi thao tác ma trận thảo luận trong bài viết này. Phần Key Key Takeaways ở cuối bài viết này sẽ cung cấp cho bạn một số sự thật cụ thể hơn và một bản tóm tắt ngắn gọn về các hoạt động ma trận. Vì vậy, hãy chắc chắn để đọc phần đó là tốt.

Tôi sẽ thảo luận về từng thao tác ma trận theo thứ tự sau. Dưới đây là danh sách 10 hoạt động ma trận hàng đầu mà tôi đã chọn cho bạn một cách cẩn thận.

  1. Sản phẩm bên trong
  2. Sản phẩm chấm
  3. Chuyển vị
  4. Dấu vết
  5. Thứ hạng
  6. Đúng là nghịch đảo
  7. Đúng là nghịch đảo
  8. Pseudo nghịch đảo
  9. Trong numpy, cả hai giá trị riêng và eigenvector đều có thể được tính đồng thời bằng cách sử dụng hàm Eig ().
  10. Python có nhân số ma trận không?

Điều kiện tiên quyết

Làm thế nào để bạn giải một ma trận trong Python?

  • Làm thế nào để bạn tạo một chức năng ma trận trong Python?

Làm thế nào để bạn viết một ma trận 3x3 trong Python?inner product.

Sản phẩm bên trong

Ảnh của Isaiah Bekkers trên unplashinner product takes two vectors of equal size and returns a single number (scalar). This is calculated by multiplying the corresponding elements in each vector and adding up all of those products. In numpy, vectors are defined as one-dimensional numpy arrays.

Khoảng 30 trận40% kiến ​​thức toán học cần thiết cho khoa học dữ liệu và học máy đến từ đại số tuyến tính. Hoạt động ma trận đóng một vai trò quan trọng trong đại số tuyến tính. Hôm nay, chúng tôi thảo luận về 10 hoạt động ma trận như vậy với sự trợ giúp của thư viện Numpy mạnh mẽ. Numpy thường được sử dụng để thực hiện các tính toán số trong Python. Nó cũng có các lớp đặc biệt và gói phụ cho các hoạt động ma trận. Việc sử dụng vector hóa cho phép Numpy thực hiện các hoạt động ma trận hiệu quả hơn bằng cách tránh nhiều vòng cho các vòng lặp.np.inner() or np.dot(). Both give the same results. The inputs for these functions are two vectors and they should be the same size.

Dấu vết

Thứ hạng

Sản phẩm chấm

Chuyển vịdot product is defined for matrices. It is the sum of the products of the corresponding elements in the two matrices. To get the dot product, the number of columns in the first matrix should be equal to the number of rows in the second matrix.

Dấu vếtndarray class. Here we create two-dimensional numpy arrays (ndarray objects). The other one is to use the numpy matrix class. Here we create matrix objects.

Thứ hạngnp.dot().

Dấu vết

Thứ hạng

Đúng là nghịch đảo * operator, the result is the element-by-element multiplication. On the other hand, when multiplying two matrix objects using the * operator, the result is the dot (matrix) product which is equivalent to the np.dot() as previous.

Dấu vết

Thứ hạng

Chuyển vị

Dấu vếttranspose of a matrix is found by switching its rows with its columns. We can use np.transpose() function or NumPy ndarray.transpose() method or ndarray.T(a special method which does not require parentheses) to get the transpose. All give the same output.

Dấu vết

Thứ hạng

Đúng là nghịch đảo

import numpy as npa = np.array([1, 2, 3])
print("a = ")
print(a)
print("\na.T = ")
print(a.T)

Đúng là nghịch đảo

Pseudo nghịch đảo

import numpy as npa = np.array([[1, 2, 3]])
print("a = ")
print(a)
print("\na.T = ")
print(a.T)

Đúng là nghịch đảo

Dấu vết

Thứ hạngtrace is the sum of diagonal elements in a square matrix. There are two methods to calculate the trace. We can simply use the trace() method of an ndarray object or get the diagonal elements first and then get the sum.

import numpy as npa = np.array([[2, 2, 1],
[1, 3, 1],
[1, 2, 2]])
print("a = ")
print(a)
print("\nTrace:", a.trace())
print("Trace:", sum(a.diagonal()))

Đúng là nghịch đảo

Thứ hạng

Đúng là nghịch đảorank of a matrix is the dimensions of the vector space spanned (generated) by its columns or rows. In other words, it can be defined as the maximum number of linearly independent column vectors or row vectors.

Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự.matrix_rank() function which comes from the numpy linalg package.

import numpy as npa = np.arange(1, 10)
a.shape = (3, 3)
print("a = ")
print(a)
rank = np.linalg.matrix_rank(a)
print("\nRank:", rank)

Đúng là nghịch đảo

Đúng là nghịch đảo

Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự.determinant of a square matrix can be calculated det() function which also comes from the numpy linalg package. If the determinant is 0, that matrix is not invertible. It is known as a singular matrix in algebra terms.

import numpy as npa = np.array([[2, 2, 1],
[1, 3, 1],
[1, 2, 2]])
print("a = ")
print(a)
det = np.linalg.det(a)
print("\nDeterminant:", np.round(det))

Hình ảnh của tác giả

Đúng là nghịch đảo

Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự.true inverse of a square matrix can be found using the inv() function of the numpy linalg package. If the determinant of a square matrix is not 0, it has a true inverse.true inverse of a square matrix can be found using the inv() function of the numpy linalg package. If the determinant of a square matrix is not 0, it has a true inverse.

import numpy as npa = np.array([[2, 2, 1],
[1, 3, 1],
[1, 2, 2]])
print("a = ")
print(a)
det = np.linalg.det(a)
print("\nDeterminant:", np.round(det))
inv = np.linalg.inv(a)
print("\nInverse of a = ")
print(inv)

Hình ảnh của tác giả

Đúng là nghịch đảo

import numpy as npa = np.array([[2, 8],
[1, 4]])
print("a = ")
print(a)
det = np.linalg.det(a)
print("\nDeterminant:", np.round(det))
inv = np.linalg.inv(a)
print("\nInverse of a = ")
print(inv)

Hình ảnh của tác giả

Đúng là nghịch đảo

Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự.true inverse of a square matrix can be found using the inv() function of the numpy linalg package. If the determinant of a square matrix is not 0, it has a true inverse.pseudo (not genuine) inverse can be calculated even for a singular matrix (a square matrix whose determinant is 0) using the pinv() function of the numpy linalg package.

import numpy as npa = np.array([[2, 8],
[1, 4]])
print("a = ")
print(a)
det = np.linalg.det(a)
print("\nDeterminant:", np.round(det))
pinv = np.linalg.pinv(a)
print("\nPseudo Inverse of a = ")
print(pinv)

Hình ảnh của tác giả

Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự.pseudo (not genuine) inverse can be calculated even for a singular matrix (a square matrix whose determinant is 0) using the pinv() function of the numpy linalg package.not 0).

Đúng là nghịch đảonot 0).

Có thể tìm thấy nghịch đảo thực của ma trận vuông bằng cách sử dụng hàm inv () của gói linalg numpy. Nếu yếu tố quyết định của ma trận vuông không phải là 0, thì nó có nghịch đảo thực sự. is a simple method to transform a matrix into a one-dimensional numpy array. For this, we can use the flatten() method of an ndarray object.

import numpy as npa = np.arange(1, 10)
a.shape = (3, 3)
print("a = ")
print(a)
print("\nAfter flattening")
print("------------------")
print(a.flatten())

Hình ảnh của tác giả

Nếu bạn cố gắng tính toán nghịch đảo thực của ma trận số ít (ma trận vuông có yếu tố quyết định là 0), bạn sẽ gặp lỗi. is a simple method to transform a matrix into a one-dimensional numpy array. For this, we can use the flatten() method of an ndarray object.

Pseudo nghịch đảoA be an n x n matrix. A scalar λ is called an eigenvalue of A if there is a non-zero vector x satisfying the following equation.

Hình ảnh của tác giả

Có thể tính toán nghịch đảo giả (không phải chính hãng) ngay cả đối với ma trận số ít (ma trận vuông có yếu tố quyết định là 0) sử dụng hàm pinv () của gói linalg numpy.A be an n x n matrix. A scalar λ is called an eigenvalue of A if there is a non-zero vector x satisfying the following equation.x is called the eigenvector of A corresponding to λ.

Không có sự khác biệt giữa nghịch đảo và giả giả thực nếu một ma trận vuông không phải là âm thanh (yếu tố quyết định không phải là 0).x is called the eigenvector of A corresponding to λ.eig() function.

import numpy as npa = np.array([[2, 2, 1],
[1, 3, 1],
[1, 2, 2]])
print("a = ")
print(a)
w, v = np.linalg.eig(a)
print("\nEigenvalues:")
print(w)
print("\nEigenvectors:")
print(v)

Hình ảnh của tác giả

Làm phẳngeig() function.

Flatten là một phương pháp đơn giản để biến một ma trận thành một mảng numpy một chiều. Đối với điều này, chúng ta có thể sử dụng phương thức Flatten () của một đối tượng ndarray.

  • Vectơ riêng
  • Đặt một ma trận n x n. Một vô hướng được gọi là giá trị riêng của A Nếu có vectơ x nam không thỏa mãn phương trình sau.

Vector X được gọi là eigenvector của một tương ứng với.

Trong numpy, cả hai giá trị riêng và eigenvector đều có thể được tính đồng thời bằng cách sử dụng hàm Eig ().linalg package has some special functions dedicated to linear algebra.

Tổng các giá trị riêng (1+5+1 = 7) bằng với dấu vết (2+3+2 = 7) của cùng một ma trận! Sản phẩm của các giá trị riêng (1x5x1 = 5) bằng với yếu tố quyết định (5) của cùng một ma trận!linalg package has some special functions dedicated to linear algebra.

EigenValues ​​và eigenvector cực kỳ hữu ích trong phân tích thành phần chính (PCA). Trong PCA, các hàm riêng của ma trận tương quan hoặc hiệp phương sai đại diện cho các thành phần chính (các hướng của phương sai tối đa) và các giá trị riêng tương ứng đại diện cho số lượng biến thể được giải thích bởi từng thành phần chính. Nếu bạn muốn tìm hiểu thêm về chúng, hãy đọc các bài viết sau do tôi viết.PCA() function, the eigenvalues and eigenvectors are calculated behind the scenes. Scikit-learn and many other libraries such as pandas, seaborn, matplotlib were built on top of numpy. So, numpy is a powerful Python library.

Phân tích thành phần chính (PCA) với scikit-learnPCA() function, the eigenvalues and eigenvectors are calculated behind the scenes. Scikit-learn and many other libraries such as pandas, seaborn, matplotlib were built on top of numpy. So, numpy is a powerful Python library.np.dot(np.dot(A, B), C). The dimensions of A, B and C should be matched accordingly.

Phân tích thành phần chính cho dữ liệu ung thư vú với R và Pythonnp.dot(np.dot(A, B), C). The dimensions of A, B and C should be matched accordingly.

Key Takeaways

Nhờ thư viện Numpy, bạn có thể thực hiện các hoạt động ma trận dễ dàng chỉ bằng một hoặc 2 dòng mã. Hôm nay, chúng tôi đã thực hiện 10 hoạt động ma trận trong Numpy. Numpy có các chức năng chung cũng như các chức năng đặc biệt dành riêng cho đại số tuyến tính, ví dụ, gói Linalg có một số hàm đặc biệt dành riêng cho đại số tuyến tính.

Trong Numpy, ma trận và ndarrays là hai điều khác nhau. Cách tốt nhất để làm quen với họ là tự mình thử nghiệm các mã. Luôn luôn tốt hơn để kiểm tra kích thước của ma trận và ndarrays.

Trong các thư viện học máy Scikit-Learn, hầu hết các hoạt động ma trận được thảo luận ngày hôm nay hoạt động đằng sau hậu trường khi chúng tôi tạo và phù hợp với một mô hình. Ví dụ, khi chúng ta sử dụng hàm scikit-learn pca (), giá trị riêng và hàm riêng được tính toán phía sau hậu trường. Scikit-learn và nhiều thư viện khác như Gandas, Seaborn, Matplotlib được xây dựng trên đỉnh của Numpy. Vì vậy, Numpy là một thư viện Python mạnh mẽ.

Numpy là một thư viện Python phổ biến cung cấp một loạt các chức năng toán học mạnh mẽ. Thư viện được sử dụng rộng rãi trong các lĩnh vực định lượng, chẳng hạn như khoa học dữ liệu, học máy và học sâu. Chúng ta có thể sử dụng Numpy để thực hiện các tính toán toán học phức tạp, chẳng hạn như phép nhân ma trận.We can use NumPy to perform complex mathematical calculations, such as matrix multiplication.We can use NumPy to perform complex mathematical calculations, such as matrix multiplication.

Làm thế nào để bạn giải một ma trận trong Python?

Để giải một phương trình ma trận tuyến tính, hãy sử dụng phương thức numpy.linalg.solve () trong Python. Phương pháp này tính toán giải pháp chính xác của người Viking, x, của các phương trình ma trận tuyến tính được xác định rõ ràng, tức là, phương trình ma trận tuyến tính AX = b.use the numpy.linalg.solve() method in Python. The method computes the “exact” solution, x, of the well-determined, i.e., full rank, linear matrix equation ax = b.use the numpy. linalg. solve() method in Python. The method computes the “exact” solution, x, of the well-determined, i.e., full rank, linear matrix equation ax = b.

Làm thế nào để bạn tạo một chức năng ma trận trong Python?

# Chương trình Python để hiển thị cách tạo ma trận bằng phương pháp ma trận ..

# nhập khẩu Numpy ..

Nhập Numpy dưới dạng NP ..

# Tạo ma trận ..

Matrix1 = np.matrix ('3,4; 5,6').

Matrix2 = np.matrix ('4,6; 8,2').

# Toán tử nhân USNG để nhân hai ma trận ..

In (Matrix1 @ Matrix2).

Làm thế nào để bạn viết một ma trận 3x3 trong Python?

Bạn có thể sử dụng Numpy.Đầu tiên, hãy chuyển đổi danh sách của bạn thành mảng numpy. Sau đó, hãy lấy một phần tử và định hình lại nó thành ma trận 3x3.First, convert your list into numpy array.Then, take an element and reshape it to 3x3 matrix.First, convert your list into numpy array. Then, take an element and reshape it to 3x3 matrix.