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解决线性代数问题之矩阵的初等变换方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
下面小编就为大家带来一篇python anaconda 安装 环境变量 升级 以及特殊库安装的方法。2017-06-06
python+selenium+Chrome options参数的使用
这篇文章主要介绍了python+selenium+Chrome options参数的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-03-03
解决Jupyter Notebook “signal only works&nb
这篇文章主要介绍了解决Jupyter Notebook “signal only works in main thread“问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2023-01-01


最新评论