深入解析:Python数据分析:求矩阵的秩。啥是矩阵秩?听故事学线代并用Python实现,娘来太容易学会了!

news/2025/9/26 9:49:11/文章来源:https://www.cnblogs.com/yxysuanfa/p/19112927

目录

  • 1 代码示例
  • 2 欢迎纠错
  • 3 免费爬虫
  • 4 论文写作/Python 学习智能体

1 代码示例

  直接上代码。

"""
先说什么是矩阵的秩。
想象一下,你是一个班长,要统计班里的同学喜欢​​“读书/​​打球​​/​​画画”的程度,得到了3条记录如下:
​​读书 打球 画画
​​同学A​​ 1 2 3
​​同学B​ 2 4 6 ​
​​同学C​​ 3 6 9
这个表就可以看作一个“矩阵”。
现在,你仔细看看这三行数据,有没有发现什么规律?
同学B的每项数据,正好是同学A的2倍​​。
同学C的每项数据,正好是同学A的3倍​​。
也就是说,​​同学B和同学C的数据并没有提供任何新的、独立的信息​​,它们只是重复和放大了同学A的信息。
真正有价值的、不重复的原始信息,其实只有​​同学A​​的那一条。
所以,这个表格(矩阵)的​​“秩”就是1。
总结一下:
​​秩​​就是一组数据中,​​真正独立的、不重复的信息​​有多少条。
秩最大不会超过表格的行数或列数中最小的那个。
如果秩比较小,说明数据中存在很多​​重复或冗余​​的信息。
如果秩达到最大,说明每一条信息都是​​独一无二​​的,没有冗余。
所以,矩阵的秩的核心就是衡量​​信息的“独立量”​​。
矩阵的秩作为线性代数中的一个核心概念,它帮助我们​​衡量信息中的“独立性”和“冗余度”​​。无论是在​​压缩数据​​、​​提取关键特征​​、​​分析系统关系​​,还是​​判断方程解的情况​​方面,它都提供了一个强大的工具。理解了秩,就能更好地理解和处理这些实际问题中蕴含的数学结构。
在线性代数中,通过各种变换可以手工计算矩阵的秩。
但人生苦短,我们还是用Python吧。
"""
import numpy as np
A = np.array([[3, 1, 0], [-1, 2, 1], [3, 4, 2]])
print(A)
"""
[[ 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]])
print(B)
"""
[[ 3 1 0 0]
[-1 2 1 2]
[ 3 4 2 3]]
"""
print("A的秩为{}".format(np.linalg.matrix_rank(A)))
print("B的秩为{}".format(np.linalg.matrix_rank(B)))
"""
A的秩为3
B的秩为3
"""
"""
我们试试求解线性方程组:Ax=b。
求解方程x = np.linalg.solve(A, b)。
"""
x = np.linalg.solve(A, b)
print(x)
"""
[-0.2 0.6 0.6]
"""
"""
所谓线性方程组,我们用通俗易懂的写法再写一遍,就是:
3x1+x2+0x3=0(1)
−x1+2x2+x3=2(2)
3x1+4x2+2x3=3(3)
该三元一次方程组的解为:
x1=-0.2; x2=0.6; x3=0.6
"""
"""
np.linalg.solve使用数值方法(如LU分解)来求解线性方程组,适用于系数矩阵​​A可逆(非奇异)的情况。
如果矩阵​​A是奇异的(不可逆),或者方程组是超定的(方程数多于未知数)或欠定的(方程数少于未知数),np.linalg.solve可能会报错。
对于后两种情况,可以考虑使用np.linalg.lstsq求最小二乘解。
"""

2 欢迎纠错

  欢迎纠错,随时更新。
  联系方式:评论、私信,或 企鹅 :179 0042 182 。
  码字不易,如觉得还可以,请给个免费的 zan 和 soucang ,让我有动力继续写下去。

3 免费爬虫

https://affiliate
.bazhuayu
.com
/M8lKUC

4 论文写作/Python 学习智能体

https://chatglm.cn/share/WF2C5ree

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

++ 新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

++ 功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

++ 合理的创建标题,有助于目录的生成

直接输入1次+,并按下space后,将生成1级标题。
输入2次+,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

++ 如何改变文本的样式

强调文本强调文本

加粗文本加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

++ 插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

++ 如何插入一段漂亮的代码片

去博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

++ 生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

++ 创建一个表格
一个简单的表格是这么创建的:

项目Value
电脑$1600
手机$12
导管$1

+++ 设定内容居中、居左、居右
使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

+++ SmartyPants
SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

++ 创建一个自定义列表
Markdown
: Text-to-HTML conversion tool

Authors
John
Luke

++ 如何创建一个注脚

一个具有注脚的文本。2

++ 注释也是必不可少的

Markdown将文本转换为 HTML。

++ KaTeX数学公式

您可以使用渲染LaTeX数学表达式 KaTeX:

Gamma公式展示 Γ(n)=(n−1)!∀n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n1)!nN 是通过欧拉积分

Γ(z)=∫0∞tz−1e−tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0tz1etdt.

你可以找到更多关于的信息 LaTeX 数学表达式here.

++ 新的甘特图功能,丰富你的文章

++ UML 图表

可以使用UML图表进行渲染。 Mermaid. 例如下面产生的一个序列图:

这将产生一个流程图。:

++ FLowchart流程图

我们依旧会支持flowchart的流程图:

++ 导出与导入

+++ 导出
如果你想尝试使用此编辑器, 你可以在此篇文章任意编辑。当你完成了一篇文章的写作, 在上方工具栏找到 文章导出 ,生成一个.md文件或者.html文件进行本地保存。

+++ 导入
如果你想加载一篇你写过的.md文件,在上方工具栏可以选择导入功能进行对应扩展名的文件导入,
继续你的创作。


  1. mermaid语法说明↩︎

  2. 注脚的解释 ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/918064.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

多机动模型PHD滤波算法

一、算法框架与核心思想 多机动模型PHD(Probability Hypothesis Density)滤波结合了交互多模型(IMM)与概率假设密度滤波的优势,通过动态模型切换实现多机动目标跟踪。 关键特性:多模型交互:每个粒子携带模型索引…

Navicat17无限试用重置14天

若navicat 17安装后无法正常注册,则可以尝试以下方法。 把以下文本另存为.bat文件,每次执行,都会将试用剩余天数重置为14天,实现无限试用的目的。 本脚本主要以测试学习为目的用后请及时删除,如果需要请购买正版.…

基于Electron的Web打印解决方案:web-print-pdf技术分享

引言 在Web应用开发中,打印功能一直是一个令人头疼的问题。传统的Web打印方案存在样式丢失、兼容性差、功能单一等诸多痛点。最近偶然发现了一个名为web-print-pdf的npm包,在调查了几款常见的Web打印实现后,发现大多…

CF455D Serega and Fun

洛谷传送 看起来很能分块啊!然后一个分块吧唧一下拍上去就过了。 好的我们还是来看看平衡树做法。 我们考虑每次操作是什么。发现其实是把 \(a_r\) 的位置移到了 \(a_l\) 的前面,\(a_i\sim a_{r-1}\) 内的所有元素向…

实验任务1

实验任务1实验任务11 #include<stdio.h> 2 int main() 3 { 4 printf(" O \n"); 5 printf("<H>\n"); 6 printf("I I\n"); 7 return 0; 8 }View Code 截图task 21 #include&l…

实验任务

实验任务实验任务11 #include <stdio.h>2 int main()3 {4 printf(" O \n");5 printf("<H>\n");6 printf("I I\n");7 printf(" O \n");8 pri…

61.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--提取金额 - 实践

61.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--提取金额 - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important…

使用 Ansible 部署 Elasticsearch 集群

使用 Ansible 部署 Elasticsearch 集群1. 集群规划 1.1 服务器列表IP 主机名 内存(GB) CPU核数 磁盘 操作系统 CPU 架构 备注11.0.0.11 arc-dev-dc01 8 1 500GB CentOS 7.9.2009 x86_64 Ansible 管理机,无法访问互联…

免费无广告!这款开源工具让文件转换像复制粘贴一样简单!

FileConverter —— 一个非常简单的工具,通过使用 Windows 资源管理器的上下文菜单转换和压缩一个或多个文件。大家好,我是 Java陈序员。 之前,给大家介绍一款格式转换全能王,支持超过一千多种的文件格式转换。 格…

时序InSAR形变结果合并操作说明 - ENVI

采用PS-InSAR或SBAS-InSAR对同一个地区得到不同时间段内的形变结果,有时候我们需要将这些不同时间段内形变结果进行合并,得到以最早时间点为基准、覆盖整个时间跨度的形变结果。 SARscape从5.5.3版本开始提供栅格或矢…

建设网站的基本技术网络规划设计师教程pdf

主题 进程同步与进程互斥 01进程同步 问题在多道批处理系统中&#xff0c;多个进程是并发执行的&#xff0c;而并发执行的进程具有异步性&#xff0c;也就是说&#xff0c;各个进程以各自独立的、不可预知的速度向前推进。这样会带来什么问题呢&#xff1f;如果有 AB…

北京建网站需要多少钱动漫网站html

一、 python语法 1. 请说一下你对迭代器和生成器的区别&#xff1f; 2. 什么是线程安全&#xff1f; 3. 你所遵循的代码规范是什么&#xff1f;请举例说明其要求&#xff1f; 4. Python中怎么简单的实现列表去重&#xff1f; 5. python 中 yield 的用法…

深圳seo网站优化公司360公司官网首页

Unity3D 小案例 像素贪吃蛇 第二期 蛇的觅食 像素贪吃蛇 食物生成 在场景中创建一个 2D 正方形&#xff0c;调整颜色&#xff0c;添加 Tag 并修改为 Food。 然后拖拽到 Assets 文件夹中变成预制体。 创建食物管理器 FoodManager.cs&#xff0c;添加单例&#xff0c;可以设置…

网站建设软硬件要求江西省建设招标网站

一 ISN序列号探究 本文主要探究三次握手建立TCP连接的细节备注&#xff1a; 某些问题探究的比较深入,当前用不到,暂时通过链接引入进来吃水不忘挖井人&#xff1a; 小林 coding ① 初始序列号 ISN 是如何随机产生的 ISN: 初始化序列号 Initial Sequence Number 接收方和…

在Vue.js中设置方法时访问$vuetify实例

在Vue.js中访问 $vuetify实例通常意味着你正在使用Vuetify框架,它是一个流行的Vue.js的UI框架。要在Vue组件的方法中访问 $vuetify实例,通常是在组件的实例方法中通过 this关键字来实现。 例如,你可能会在Vue组件中…

纷享销客CRM任务系统:破解快消品终端动销管理难题

品牌商自有销售人员做动销,成本越来越高,雇不起那么多人,转而与经销商合作,但如何让他们的销售更主动、更多地卖自己的产品呢? 一线人员到底有没有按时拜访?陈列合不合格?促销有没有执行到位?看不见、摸不着、…

第一周博客作业-介绍自己

自我介绍: 大家好,我叫苏紫先,是2023级数据科学与大数据技术0102班的一名学生,很高兴进入这个大家庭并在此记录我接下来的学习内容,如今进入大学已经3年了,我们上了很多专业的科目虽然说成绩不错,但是真实掌握的…

完整教程:zookeeper+kafka

完整教程:zookeeper+kafka2025-09-26 09:22 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; …

AI大模型应用简介 - 努力-

AI大模型应用简介AI大模型简介一、AI大模型简介2022年11月30日,OpenAI公司发布了GPT3.5模型,同时对外开放了ChatGPT产品。人工智能突然进入了普通人的生活中,各种AI应用如雨后春笋般出现。不过,由于大模型研究的成…

完整教程:01_5分钟运行你的第一个LLM:Hugging Face入门

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …