Python解决线性代数问题之矩阵的初等变换方法
程序员文章站
2022-05-11 11:34:55
定义一个矩阵初等行变换的类
class rowtransformation():
array = ([[],[]])
def __init__...
定义一个矩阵初等行变换的类
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找不到ssl模块问题 No module named _ssl的方法
-
python线程中的同步问题及解决方法
-
Python的Django应用程序解决AJAX跨域访问问题的方法
-
python中不能连接超时的问题及解决方法
-
Python os模块中的isfile()和isdir()函数均返回false问题解决方法
-
快速解决jquery之get缓存问题的最简单方法介绍
-
Python使用urllib模块的urlopen超时问题解决方法
-
用VIM写Python代码缩进问题的解决方法
-
Python2.x中str与unicode相关问题的解决方法
-
在python3中pyqt5和mayavi不兼容问题的解决方法