Chúng tôi sử dụng hàm numpy.linalg.inv [] để tính toán nghịch đảo của ma trận. Nghịch đảo của ma trận là nếu nó được nhân với ma trận gốc, nó sẽ dẫn đến ma trận nhận dạng.numpy.linalg.inv[] function to calculate the inverse of a matrix. The inverse of a matrix is such that if it is multiplied by the original matrix, it results in identity matrix.
Thí dụ
import numpy as np x = np.array[[[1,2],[3,4]]] y = np.linalg.inv[x] print x print y print np.dot[x,y]
Nó sẽ tạo ra đầu ra sau -
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]
Thí dụ
Nó sẽ tạo ra đầu ra sau -
import numpy as np a = np.array[[[1,1,1],[0,2,5],[2,5,-1]]] print 'Array a:” print a ainv = np.linalg.inv[a] print 'Inverse of a:' print ainv print 'Matrix B is:' b = np.array[[[6],[-4],[27]]] print b print 'Compute A-1B:' x = np.linalg.solve[a,b] print x # this is the solution to linear equations x = 5, y = 3, z = -2
Bây giờ chúng ta hãy tạo ra một nghịch đảo của ma trận A trong ví dụ của chúng tôi.
Array a: [[ 1 1 1] [ 0 2 5] [ 2 5 -1]] Inverse of a: [[ 1.28571429 -0.28571429 -0.14285714] [-0.47619048 0.14285714 0.23809524] [ 0.19047619 0.14285714 -0.0952381 ]] Matrix B is: [[ 6] [-4] [27]] Compute A-1B: [[ 5.] [ 3.] [-2.]]
Nó sẽ tạo ra đầu ra sau -
Kết quả tương tự có thể thu được bằng cách sử dụng hàm -numpy_linear_algebra.htm
Làm thế nào để tôi tìm thấy nghịch đảo của một ma trận?
Chúng ta chỉ có thể tìm thấy ma trận nghịch đảo đối với các ma trận vuông, có số lượng hàng và cột bằng nhau như 2 × 2, 3 × 3, v.v. của ma trận đã cho.
Tính nghịch đảo [nhân] của ma trận.a[…, M, M] array_likeĐưa ra một ma trận hình vuông A, trả lại ma trận AINV thỏa mãn
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]4.Tham số [Mạnh, m, m] mảngainv[…, M, M] ndarray or matrix
Ma trận sẽ được đảo ngược.
[Nhân] nghịch đảo của ma trận a.
Risislinalgerror
Nếu A không phải là hình vuông hoặc đảo ngược thất bại.
Ghi chú
Mới trong phiên bản 1.8.0.
>>> from numpy.linalg import inv >>> a = np.array[[[1., 2.], [3., 4.]]] >>> ainv = inv[a] >>> np.allclose[np.dot[a, ainv], np.eye[2]] True >>> np.allclose[np.dot[ainv, a], np.eye[2]] True
Các quy tắc phát sóng áp dụng, xem tài liệu
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]5 để biết chi tiết.
>>> ainv = inv[np.matrix[a]] >>> ainv matrix[[[-2. , 1. ], [ 1.5, -0.5]]]
Ví dụ
>>> a = np.array[[[[1., 2.], [3., 4.]], [[1, 3], [3, 5]]]] >>> inv[a] array[[[[-2. , 1. ], [ 1.5 , -0.5 ]], [[-1.25, 0.75], [ 0.75, -0.25]]]]
Làm thế nào để tôi tìm thấy nghịch đảo của một ma trận?
Tại sao chúng ta cần một nghịch đảo?
Chúng ta cần một nghịch đảo của ma trận bởi vì ma trận chúng ta không phân chia! Suy nghĩ, không có khái niệm phân chia cho một ma trận. Nhưng chúng ta có thể nhân với một nghịch đảo để đạt được điều tương tự. Vì vậy, hãy để Lừa xem làm thế nào để đảo ngược ma trận numpy trong Python.
NP.Linalg.inv [] là một hàm thư viện Numpy tính toán nghịch đảo ma trận [nhân]. Nghịch đảo của ma trận là một đối ứng của ma trận.np.linalg.inv[] is a numpy library function that computes a matrix’s [multiplicative] inverse. The inverse of a matrix is a reciprocal of a matrix.
Để tìm nghịch đảo của ma trận trong Python, hãy sử dụng phương thức np.linalg.inv []. Nó cũng được định nghĩa là một ma trận được hình thành tạo ra một ma trận nhận dạng khi nhân với ma trận gốc.np.linalg.inv[] method. It is also defined as a matrix formed that gives an identity matrix when multiplied with the original Matrix.
Một ma trận nghịch đảo chỉ xảy ra nếu đó là một ma trận không phải, tức là, yếu tố quyết định của ma trận phải là 0.
Phương trình để có được nghịch đảo của một ma trận
A*x= B A^-1 A*x= A-1 B x= A-1 B
Trong đó a^-1: nó biểu thị nghịch đảo của ma trận. A^-1: It denotes the inverse of a matrix.
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; X: Nó biểu thị một cột không xác định.
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; B: Nó biểu thị ma trận giải pháp.
Bây giờ, hãy để Lừa xem quy trình sử dụng Numpy để tìm nghịch đảo của ma trận.
Cú pháp
numpy.linalg.inv[A]
Thông số
A: Nó biểu thị ma trận sẽ được đảo ngược.
Giá trị trả về
Các nghịch đảo của ma trận A được trả về.
Ghi chú
Hàm inv [] làm tăng linalgerror nếu A không phải là ma trận vuông vì nếu A không phải là ma trận vuông, thì đảo ngược không thành công.LinAlgError if A is not a square matrix because if A is not a square matrix, inversion fails.
Thí dụ
Đảo ngược ma trận 4*4.
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]0
Đầu ra
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]1
Giải trình
Ở đây, một ma trận đã được đưa ra làm đầu vào cho hàm và sau đó nghịch đảo đó của ma trận đã được trả về dưới dạng đầu ra.
Tính nghịch đảo của một số ma trận
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]2
Đầu ra
[[1 2] [3 4]] [[-2. 1. ] [ 1.5 -0.5]] [[ 1.00000000e+00 1.11022302e-16] [ 0.00000000e+00 1.00000000e+00]]3
Giải trình
Ở đây, chúng tôi đã đưa ra một số ma trận làm đầu vào cho hàm và sau đó nghịch đảo đó của ma trận đã được trả về dưới dạng đầu ra.
Đó là nó cho chức năng numpy.ininalg.inv [].
Xem thêm
Numpy linalg lstsq []
Khẩu hiệu Numpy Linalg []
Numpy Linalg giải quyết []
Numpy Linalg SVD []
Numpy linalg qr []