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的shutil模块中文件的复制操作函数详解
Jul 05 Python
python matplotlib 注释文本箭头简单代码示例
Jan 08 Python
基于pip install django失败时的解决方法
Jun 12 Python
Python socket实现的简单通信功能示例
Aug 21 Python
使用Python获取并处理IP的类型及格式方法
Nov 01 Python
开启Django博客的RSS功能的实现方法
Feb 17 Python
Django使用Celery加redis执行异步任务的实例内容
Feb 20 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
Mar 12 Python
Python中qutip用法示例详解
Oct 02 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
Oct 12 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 Python
pytorch 中autograd.grad()函数的用法说明
May 12 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
简单谈谈php中ob_flush和flush的区别
2014/11/27 PHP
smarty学习笔记之常见代码段用法总结
2016/03/19 PHP
PHP手机短信验证码实现流程详解
2018/05/17 PHP
php 提交表单 关闭layer弹窗iframe的实例讲解
2018/08/20 PHP
在textarea文本域中显示HTML代码的方法
2007/03/06 Javascript
Javascript条件判断使用小技巧总结
2008/09/08 Javascript
JS的get和set使用示例
2014/02/20 Javascript
jQuery中map()方法用法实例
2015/01/06 Javascript
基于jquery ui的alert,confirm方案(支持换肤)
2015/04/03 Javascript
分享15个大家都熟知的jquery小技巧
2015/12/02 Javascript
Node.js DES加密的简单实现
2016/07/07 Javascript
详解vue事件对象、冒泡、阻止默认行为
2017/03/20 Javascript
WebStorm ES6 语法支持设置&babel使用及自动编译(详解)
2017/09/08 Javascript
在Vue组件上动态添加和删除属性方法
2018/02/23 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
JS/jQuery实现简单的开关灯效果【案例】
2019/02/19 jQuery
微信小程序实现上传多个文件 超过10个
2020/03/30 Javascript
JS实现放烟花效果
2020/03/10 Javascript
Nuxt的路由动画效果案例
2020/11/06 Javascript
python中的__init__ 、__new__、__call__小结
2014/04/25 Python
改进Django中的表单的简单方法
2015/07/17 Python
Python 文件操作的详解及实例
2017/09/18 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
Python分布式进程中你会遇到的问题解析
2019/05/28 Python
Python Django Cookie 简单用法解析
2019/08/13 Python
解决Python命令行下退格,删除,方向键乱码(亲测有效)
2020/01/16 Python
HTML5之HTML元素扩展(上)—新增加的元素及使用概述
2013/01/31 HTML / CSS
购买正版游戏和游戏激活码:Green Man Gaming
2019/11/06 全球购物
德国游戏机商店:Konsolenkost
2019/12/08 全球购物
Kappa英国官方在线商店:服装和运动器材
2020/11/22 全球购物
关于.NET, HTML的五个问题
2012/08/29 面试题
社区文化建设方案
2014/05/02 职场文书
小学国旗下的演讲稿
2014/08/28 职场文书
个人委托书怎么写
2014/09/17 职场文书
2015安全保卫工作总结
2015/04/25 职场文书
2015年党建工作汇报材料
2015/06/25 职场文书