利用numpy解逆矩阵,并简单应用在求解线性方程组下面是一个简单的示例:
import numpy as np
class LinearAlgebraToolkit:
"""线性代数工具包,提供矩阵可逆性判断、逆矩阵计算和线性方程组求解等功能"""
def __init__(self):
"""初始化工具包"""
self.precision = 1e-10 # 浮点数比较精度
def is_invertible(self, matrix):
"""
判断矩阵是否可逆
参数:
matrix (np.ndarray): 输入的方阵
返回:
bool: 矩阵是否可逆
"""
if not isinstance(matrix, np.ndarray):
raise TypeError("输入必须是NumPy数组")
if matrix.ndim != 2 or matrix.shape[0] != matrix.shape[1]:
raise ValueError("输入必须是方阵")
try:
det = np.linalg.det(matrix)
return abs(det) > self.precision # 考虑浮点数精度问题
except np.linalg.LinAlgError:
return False
def calculate_inverse(self, matrix):
"""
计算矩阵的逆矩阵
参数:
matrix (np.ndarray): 输入的方阵
返回:
np.ndarray: 矩阵的逆矩阵,如果不可逆则返回None
"""
if not s

最低0.47元/天 解锁文章
1102

被折叠的 条评论
为什么被折叠?



