در پایتون، میتوانید معکوس ماتریس را با استفاده از کتابخانه numpy محاسبه کنید. در اینجا یک مثال است:
import numpy as np
matrix = np.array([[1, 2], [3, 4]])
inv_matrix = np.linalg.inv(matrix)
print(inv_matrix)
خروجی معکوس ماتریس خواهد بود:
در پایتون نیز می توانید با استفاده از روش حذف گاوسی، معکوس ماتریس را بدون استفاده از numpy محاسبه کنید. در اینجا مثالی از نحوه نوشتن یک تابع برای یافتن معکوس یک ماتریس آورده شده است:
def inverse_matrix(matrix):
n = len(matrix)
identity_matrix = [[0.0] * n for _ in range(n)]
for i in range(n):
identity_matrix[i][i] = 1.0
augmented_matrix = [row[:] + identity_matrix[i] for i, row in enumerate(matrix)]
for i in range(n):
pivot = augmented_matrix[i][i]
for j in range(n * 2):
augmented_matrix[i][j] /= pivot
for k in range(n):
if k != i:
factor = augmented_matrix[k][i]
for j in range(n * 2):
augmented_matrix[k][j] -= factor * augmented_matrix[i][j]
return [row[n:] for row in augmented_matrix]
matrix = [[1, 2], [3, 4]]
inv_matrix = inverse_matrix(matrix)
print(inv_matrix)
خروجی معکوس ماتریس خواهد بود:
[[-2.0, 1.0], [1.5, -0.5]]
تابع inverse_matrix یک پیاده سازی سفارشی در پایتون برای محاسبه معکوس یک ماتریس مربع با استفاده از روش حذف گاوسی است. با ایجاد یک ماتریس یکه به همان اندازه ماتریس ورودی شروع می شود. سپس ماتریس ورودی و ماتریس یکه با هم ترکیب می شوند تا یک ماتریس تقویت شده را تشکیل دهند.
سپس این تابع عملیات ردیف را روی ماتریس تقویت شده انجام می دهد تا قسمت چپ ماتریس (ماتریس ورودی اصلی) را به یک ماتریس یکه و قسمت سمت راست ماتریس را به معکوس آن تبدیل کند. عنصر محوری (عنصر مورب) ابتدا به خودی خود تقسیم می شود تا 1 به دست آید و سپس عناصر موجود در همان ستون ردیف های دیگر با ضریب محاسبه شده از ردیف محوری کم می شوند تا عناصر همان ستون این سطرها 0 شود.
در نهایت، تابع قسمت سمت راست ماتریس تقویت شده را برمی گرداند که معکوس ماتریس اصلی است.