Hướng dẫn python inverse matrix - ma trận nghịch đảo python

  1. Sử dụng chức năng numpy.linalg.inv() để tìm nghịch đảo của ma trận trong Python
  2. Sử dụng lớp numpy.matrix để tìm nghịch đảo của ma trận trong Python
  3. Sử dụng hàm
    [[-1.25  0.75]
     [ 2.   -1.  ]]
    
    0 để tìm nghịch đảo của ma trận trong Python
  4. Tạo chức năng do người dùng xác định để tìm nghịch đảo của ma trận trong Python

Một ma trận là một mảng hai chiều với mọi yếu tố có cùng kích thước. Chúng ta có thể đại diện cho ma trận bằng các mảng

[[-1.25  0.75]
 [ 2.   -1.  ]]
1 hoặc danh sách lồng nhau.

Nội phân chính

  • Sử dụng hàm Numpy.linalg.inv () để tìm nghịch đảo của ma trận trong Python
  • Sử dụng lớp Numpy.Matrix để tìm nghịch đảo của ma trận trong Python
  • Sử dụng hàm scipy.linalg.inv () để tìm nghịch đảo của ma trận trong Python
  • Tạo chức năng do người dùng xác định để tìm nghịch đảo của ma trận trong Python

Một ma trận là một mảng hai chiều với mọi yếu tố có cùng kích thước. Chúng ta có thể đại diện cho ma trận bằng các mảng

[[-1.25  0.75]
 [ 2.   -1.  ]]
1 hoặc danh sách lồng nhau.

Nội phân chính

Sử dụng hàm Numpy.linalg.inv () để tìm nghịch đảo của ma trận trong Python

Sử dụng lớp Numpy.Matrix để tìm nghịch đảo của ma trận trong Python

Sử dụng hàm scipy.linalg.inv () để tìm nghịch đảo của ma trận trong Python

Đối với một ma trận không phải là yếu tố quyết định không bằng không, có một ma trận duy nhất mang lại một ma trận nhận dạng khi nhân với bản gốc. Ma trận độc đáo này được gọi là nghịch đảo của ma trận gốc.

Hướng dẫn này sẽ trình bày cách nghịch đảo ma trận trong Python bằng một số phương pháp.

import numpy as np
try:
    m = np.array([[4,3],[8,5]])
    print(np.linalg.inv(m))
except:
    print("Singular Matrix, Inverse not possible.")

Output:

[[-1.25  0.75]
 [ 2.   -1.  ]]

Sử dụng lớp Numpy.Matrix để tìm nghịch đảo của ma trận trong Python

Sử dụng hàm scipy.linalg.inv () để tìm nghịch đảo của ma trận trong Python

Đối với một ma trận không phải là yếu tố quyết định không bằng không, có một ma trận duy nhất mang lại một ma trận nhận dạng khi nhân với bản gốc. Ma trận độc đáo này được gọi là nghịch đảo của ma trận gốc.

Hướng dẫn này sẽ trình bày cách nghịch đảo ma trận trong Python bằng một số phương pháp.

import numpy as np
try:
    m = np.matrix([[4,3],[8,5]])
    print(m.I)
except:
    print("Singular Matrix, Inverse not possible.")

Output:

[[-1.25  0.75]
 [ 2.   -1.  ]]

Mô -đun

[[-1.25  0.75]
 [ 2.   -1.  ]]
1 có các chức năng khác nhau để tạo và thao tác các mảng trong Python. Mô hình con
[[-1.25  0.75]
 [ 2.   -1.  ]]
3 thực hiện các thuật toán và hàm đại số tuyến tính khác nhau.

Sử dụng hàm scipy.linalg.inv () để tìm nghịch đảo của ma trận trong Python

Đối với một ma trận không phải là yếu tố quyết định không bằng không, có một ma trận duy nhất mang lại một ma trận nhận dạng khi nhân với bản gốc. Ma trận độc đáo này được gọi là nghịch đảo của ma trận gốc.

Hướng dẫn này sẽ trình bày cách nghịch đảo ma trận trong Python bằng một số phương pháp.

Hướng dẫn này sẽ trình bày cách nghịch đảo ma trận trong Python bằng một số phương pháp.

import numpy as np
from scipy import linalg
try:
    m = np.matrix([[4,3],[8,5]])
    print(linalg.inv(m))
except:
    print("Singular Matrix, Inverse not possible.")

Output:

[[-1.25  0.75]
 [ 2.   -1.  ]]

Tạo chức năng do người dùng xác định để tìm nghịch đảo của ma trận trong Python

Một ma trận là một mảng hai chiều với mọi yếu tố có cùng kích thước. Chúng ta có thể đại diện cho ma trận bằng các mảng

[[-1.25  0.75]
 [ 2.   -1.  ]]
1 hoặc danh sách lồng nhau.

Nội phân chính

Sử dụng hàm Numpy.linalg.inv () để tìm nghịch đảo của ma trận trong Python

Hướng dẫn này sẽ trình bày cách nghịch đảo ma trận trong Python bằng một số phương pháp.

def return_transpose(mat):
    return map(list,zip(*mat))

def return_matrix_minor(mat,i,j):
    return [row[:j] + row[j+1:] for row in (mat[:i]+mat[i+1:])]

def return_determinant(mat):
    if len(mat) == 2:
        return mat[0][0]*mat[1][1]-mat[0][1]*mat[1][0]

    determinant = 0
    for c in range(len(m)):
        determinant += ((-1)**c)*m[0][c]*return_determinant(return_matrix_minor(m,0,c))
    return determinant

def inverse_matrix(m):
    determinant = return_determinant(m)
    if len(m) == 2:
        return [[m[1][1]/determinant, -1*m[0][1]/determinant],
                [-1*m[1][0]/determinant, m[0][0]/determinant]]

    cfs = []
    for r in range(len(m)):
        cfRow = []
        for c in range(len(m)):
            minor = return_matrix_minor(m,r,c)
            cfRow.append(((-1)**(r+c)) * return_determinant(minor))
        cfs.append(cfRow)
    cfs = return_transpose(cfs)
    for r in range(len(cfs)):
        for c in range(len(cfs)):
            cfs[r][c] = cfs[r][c]/determinant
    return cfs

m = [[4,3],[8,5]]
print(inverse_matrix(m))

Output:

[[-1.25, 0.75], [2.0, -1.0]]

Mô -đun

[[-1.25  0.75]
 [ 2.   -1.  ]]
1 có các chức năng khác nhau để tạo và thao tác các mảng trong Python. Mô hình con
[[-1.25  0.75]
 [ 2.   -1.  ]]
3 thực hiện các thuật toán và hàm đại số tuyến tính khác nhau.

Chúng ta có thể sử dụng hàm numpy.linalg.inv() từ mô -đun này để tính toán nghịch đảo của một ma trận đã cho. Hàm này làm tăng lỗi nếu không thể có nghịch đảo của ma trận, điều này có thể là do ma trận là số ít.

Do đó, sử dụng chức năng này trong khối

[[-1.25  0.75]
 [ 2.   -1.  ]]
5 và
[[-1.25  0.75]
 [ 2.   -1.  ]]
6 được khuyến nghị. Nếu ma trận là số ít, một lỗi sẽ được nêu ra và mã trong khối
[[-1.25  0.75]
 [ 2.   -1.  ]]
6 sẽ được thực thi.

Mã mã:

Trong một thời gian dài, lớp numpy.matrix đã được sử dụng để đại diện cho ma trận trong Python. Điều này giống như sử dụng một mảng hai chiều bình thường cho biểu diễn ma trận.