关于消元法求解线性方程组

可将系数和结果转换为矩阵,并可令B为增广矩阵

将A、B通过消元法求解

所有的m*n的矩阵经过一系列初等变换,都可以变成如下的形式:

r就是最简矩阵当中非零行的行数,它也被称为矩阵的秩。我们把A矩阵的秩记作: R(A),那些方程组中真正是干货的方程个数,就是这个方程组对应矩阵的秩,阶梯形矩阵的秩就是其非零行数!

一个矩阵经过初等变换,它的行列式保持不变。如果行列式当中存在某一行或者某一列全部为0,那么它的行列式为0。

因此,对于n阶矩阵A而言,如果它的秩R(A)<n,那么|A|=0。

可逆矩阵的秩就等于矩阵的阶数,不可逆矩阵的秩小于矩阵的阶数。所以,可逆矩阵又称为满秩矩阵,不可逆矩阵又称为降秩矩阵。

线性方程组的解

我们理解了矩阵的秩的概念之后,看看它在线性方程组上的应用。

假设当下有一个n元m个等式的方程组:

我们可以将它写成矩阵相乘的形式:Ax = b

其中A是一个m*n的矩阵,

我们利用系数矩阵A和增广矩阵B=(A,b)的秩,可以和方便地看出线性方程组是否有解。我们先来看结论:

当R(A) < R(B)时无解

当R(A) = R(B) = n时,有唯一解

当R(A) = R(B) < n时,有无数解

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#                     _ooOoo_
#                   o8888888o
#                    88" . "88
#                 ( | -  _  - | )
#                     O\ = /O
#                 ____/`---'\____
#                  .' \\| |// `.
#                 / \\|||:|||// \
#               / _|||||-:- |||||- \
#                | | \\\ - /// | |
#              | \_| ''\---/'' | _/ |
#               \ .-\__ `-` ___/-. /
#            ___`. .' /--.--\ `. . __
#         ."" '< `.___\_<|>_/___.' >'"".
#       | | : `- \`.;`\  _ /`;.`/ - ` : | |
#          \ \ `-. \_ __\ /__ _/ .-` / /
#      ==`-.____`-.___\_____/___.-`____.-'==
#                     `=---='
'''
@Project :pythonalgorithms
@File :Rankofmatrix.py
@Author :不胜人生一场醉@Date :2021/8/22 22:56
'''
import numpy as npA = np.array([[3, 1, 0], [-1, 2, 1], [3, 4, 2]])
b = np.array([0, 2, 3])B = np.array([[3, 1, 0, 0], [-1, 2, 1, 2], [3, 4, 2, 3]])# A的秩
print("A的秩为{}".format(np.linalg.matrix_rank(A)))
# A的秩为3
# B的秩
print("B的秩为{}".format(np.linalg.matrix_rank(B)))
# B的秩为3
# 求解方程
x = np.linalg.solve(A, b)
print("x={}".format(x))
# x=[-0.2  0.6  0.6]
# 可将结果带入验证方程
# 3*-0.2 + 1*0.6 + 0*0.6 = 0
# -1*-0.2 + 2*0.6 + 1*0.6 = 2
# 3*-0.2 + 4*0.6 + 2*0.6 = 3

关于矩阵的秩及求解Python求法相关推荐

  1. SciPy 非线性方程求解 | Python技能树征题

    SciPy 非线性方程求解 | Python技能树征题 0. 前言 1. 第 1 题:一元非线性方程求解 2. 第 2 题:非线性方程组求解 试题代码地址 0. 前言 在自然科学和工程学科中,许多系统 ...

  2. 007 矩阵的秩定义、秩求法、秩的性质

    007 矩阵的秩定义.秩求法.秩的性质

  3. python求解非线性多元方程_求解python中的colebrook(非线性)方程

    我想在MATLAB中的python what this guy did中做 . 我已经安装了anaconda,所以我有numpy和sympy库 . 到目前为止,我已尝试使用numpy nsolve,但 ...

  4. c++求矩阵的秩_利用Python矩阵求逆、特征值及特征向量

    今日,分享点Python学习小记,利用Python实现以下目的: (1)判定是否为方阵 矩阵的本质就是映射.对于一个m×n的矩阵A,y=Ax的作用是将向量从n维原始空间中的x坐标位置,映射到m维目标空 ...

  5. 投资组合--最优化求解(Python)

    除了用蒙特卡洛模拟进行投资组合求解外,也可以通过python的scipy.optimize库进行最优化求解.接着上一篇文章,我们继续使用scipy.optimize进行投资组合最优化求解工作. imp ...

  6. 7650 不定方程求解 python

    http://noi.openjudge.cn/math/7650/ """ 7650 不定方程求解 http://noi.openjudge.cn/math/7650/ ...

  7. 求解Python 爬取百度翻译手机版{errno:997,from:zh,to:en,query:\u4eba\u751f\u82e6\u77ed}怎么办

    环境:python3.7.3 import requestsurl = "https://fanyi.baidu.com/basetrans" data = {"quer ...

  8. 曲线曲率介绍和python求法

    目录 曲率 1.1 弧长参数 s 图解数学 Python 中的曲线曲率 参考资料 曲率 对于圆而言,曲率与半径成反比,是半径的倒数,而直线的曲率为 0. K = 1 r \pmb{K}=\frac{1 ...

  9. A+AB+BC+CD+DE+EF+FG+GH+HI=HHI求解Python代码

    用数字1至9组成一个没有重复数字的九位数ABCDEFGHI ,A+AB+BC+CD+DE+EF+FG+GH+HI=HHI,求H和I的值 python代码如何实现所有解.代码如下 A+AB+BC+CD+ ...

最新文章

  1. 安全获取QueryString的值类库下载
  2. Linux内核实验作业四
  3. MaxCompute 图计算开发指南
  4. 修改chrome的页面背景颜色
  5. 中医教你5个补肾护发食疗方
  6. php checkbox批量提交,jquery获取多个checkbox的值异步提交给php
  7. 超融合将成为数据中心技术应用主流
  8. java中调用xml的方法:DocumentBuilderFactory
  9. mysql怎么找出树形的根节点,Oracle 层级语句 树形结构 显示根节点 不显示根节点...
  10. 毕业设计 嵌入式电子时钟设计与实现
  11. 用友nc系统服务器端口号,用友NC数据库服务器参数配置说明
  12. 引流工具GoReplay简介和在猪齿鱼效能平台中的应用
  13. 2021-09-19
  14. 云产品学习之路(阿里云01)阿里云rds数据库导出
  15. 高阶函数,太有用啦!
  16. 卷积云神经网络_卷积神经网络
  17. iPhone越狱真机调试
  18. Spring入门到精通:第二章 IOC容器(XML方式):1.IOC概念
  19. (转)Flickr架构
  20. 内存泄漏检测C版小工具

热门文章

  1. 企业信息化系统建设方案
  2. Java 定时任务详解
  3. python中seth是什么意思_python中的seth有什么用
  4. Qt音乐播放器实现(带歌词功能)
  5. python美观代码_为什么Python 代码要写得美观而明确
  6. 面向对象和面向过程的区别以及封装继承多态的优缺点
  7. 浅谈城市综合管廊分类及其运维管理
  8. 浙大PAT练习题1022
  9. C语言 数据结构 之 链式栈
  10. c语言 遍历文件夹中所有文件名,C# 遍历文件夹下所有子文件夹中的文件,得到文件名...