定义一个矩阵初等行变换的类
class rowTransformation():
array = ([[],[]])
def __init__(self,array):
self.array = array
def __mul__(self, other):
pass
# 交换矩阵的两行
def exchange_two_lines(self,x,y):
a = self.array[x-1:x].copy()
self.array[x-1:x] = self.array[y-1:y]
self.array[y-1:y] = a
return self.array
# 以k不等于0乘以矩阵中的某x行
def multiply(k,x,self):
self.array[x-1:x] = k*self.array[x-1:x]
return self.array
# 把x行所有元的k倍加到另y行上去
def k_mul_arr_add_arr(self,k,x,y):
self.array[y-1:y] += k*self.array[x-1:x]
return self.array
定义一个初等列变换的类
# 封装一个初等列变换类
class colTransformation():
array = ([[],[]])
def __init__(self, array):
self.array = array
def __mul__(self, other):
pass
# 交换矩阵的两列
def exchange_two_lines(self, x, y):
a = self.array[:, x-1:x].copy()
self.array[:, x-1:x] = self.array[:, y-1:y]
self.array[:, y-1:y] = a
return self.array
# 以k不等于0乘以矩阵中的某x列
def multiply(self, k, x):
self.array[:, x-1:x] = k*self.array[:, x-1:x]
return self.array
# 把x列所有元的k倍加到另y列上去
def k_mul_arr_add_arr(self, k, x, y):
self.array[:, y-1:y] += k*self.array[:, x-1:x]
return self.array
求矩阵的秩
b = np.array([[2,-1,-1,1,2],[1,1,-2,1,4],[4,-6,2,-2,4],[3,6,-9,7,9]])
a = np.linalg.matrix_rank(b)
print(a)
3
求非齐次线性方程组的解
以上这篇Python解决线性代数问题之矩阵的初等变换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:动态规划之矩阵连乘问题Python实现方法python实现矩阵乘法的方法Python矩阵常见运算操作实例总结Python使用稀疏矩阵节省内存实例Python的numpy库中将矩阵转换为列表等函数的方法Python获取二维矩阵每列最大值的方法python中numpy的矩阵、多维数组的用法Python使用min、max函数查找二维数据矩阵中最小、最大值的方法Python中矩阵创建和矩阵运算方法Python实现矩阵转置的方法分析对python 矩阵转置transpose的实例讲解python关于矩阵重复赋值覆盖问题的解决方法