Python解决线性代数问题之矩阵的初等变换方法


Posted in Python onDecember 12, 2018

定义一个矩阵初等行变换的类

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中的描述符(descriptor)
Jun 03 Python
virtualenv实现多个版本Python共存
Aug 21 Python
详谈Numpy中数组重塑、合并与拆分方法
Apr 17 Python
Python中的单继承与多继承实例分析
May 10 Python
Python系统监控模块psutil功能与经典用法分析
May 24 Python
Linux 修改Python命令的方法示例
Dec 03 Python
详解Python基础random模块随机数的生成
Mar 23 Python
解决python文件双击运行秒退的问题
Jun 24 Python
Python实现基于SVM的分类器的方法
Jul 19 Python
Python udp网络程序实现发送、接收数据功能示例
Dec 09 Python
详解分布式系统中如何用python实现Paxos
May 18 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 Python
对python数据切割归并算法的实例讲解
Dec 12 #Python
python实现文本界面网络聊天室
Dec 12 #Python
Python3爬虫学习之应对网站反爬虫机制的方法分析
Dec 12 #Python
python实现简单多人聊天室
Dec 11 #Python
在python中利用KNN实现对iris进行分类的方法
Dec 11 #Python
python 划分数据集为训练集和测试集的方法
Dec 11 #Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 #Python
You might like
UCenter Home二次开发指南
2009/05/28 PHP
一个PHP分页类的代码
2011/05/18 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
PHP中Session ID的实现原理实例分析
2019/08/17 PHP
页面中iframe相互传值传参
2009/12/13 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
jquery的选择器的使用技巧之如何选择input框
2013/09/22 Javascript
JavaScript学习笔记之JS事件对象
2015/01/22 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
js+html5实现canvas绘制镂空字体文本的方法
2015/06/05 Javascript
JavaScript引用类型和基本类型详解
2016/01/06 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
AngularJS入门教程之双向绑定详解
2016/08/18 Javascript
Bootstrap popover用法详解
2016/12/22 Javascript
详解在Angular项目中添加插件ng-bootstrap
2017/07/04 Javascript
基于JavaScript中标识符的命名规则介绍
2018/01/06 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
vue实现动态按钮功能
2019/05/13 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
记录vue做微信自定义分享的一些问题
2019/09/12 Javascript
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
python基础教程之基本内置数据类型介绍
2014/02/20 Python
Python使用cx_Oracle模块将oracle中数据导出到csv文件的方法
2015/05/16 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
Python实现的登录验证系统完整案例【基于搭建的MVC框架】
2019/04/12 Python
Whittard官方海外旗舰店:英国百年茶叶品牌
2018/02/22 全球购物
校园安全广播稿
2014/02/08 职场文书
2014年机关党委工作总结
2014/12/11 职场文书
党组织结对共建协议书
2016/03/23 职场文书
小学作文指导之如何写人?
2019/07/08 职场文书
申论不会写怎么办?教您掌握这6点思维和原则
2019/07/17 职场文书
Java循环队列与非循环队列的区别总结
2021/06/22 Java/Android
Python Flask搭建yolov3目标检测系统详解流程
2021/11/07 Python
详解在OpenCV中如何使用图像像素
2022/03/03 Python