Python解决线性代数问题之矩阵的初等变换方法
更新时间:2018年12月12日 09:11:47 作者:body_builder
今天小编就为大家分享一篇Python解决线性代数问题之矩阵的初等变换方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
定义一个矩阵初等行变换的类
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解决线性代数问题之矩阵的初等变换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Windows下pycharm创建Django 项目(虚拟环境)过程解析
这篇文章主要介绍了Windows下pycharm创建Django 项目(虚拟环境)过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-09-09
最新评论