高等数学基础(行列式和矩阵的秩)

行列式主要用于判断矩阵是否可逆及计算特征方程

初见行列式

行列式起源于线性方程组求解
{ a 11 x 1 + a 12 x 2 = b 1 a 21 x 1 + a 22 x 2 = b 2 \begin{cases} a_{11}x_1 + a_{12}x_2 = b_1 \\ a_{21}x_1 + a_{22}x_2 = b_2 \end{cases} {a11x1+a12x2=b1a21x1+a22x2=b2
通过消元法得到, { ( a 11 a 22 − a 12 a 21 ) x 1 = b 1 a 22 − b 2 a 12 ( a 11 a 22 − a 12 a 21 ) x 2 = b 2 a 11 − b 1 a 21 \begin{cases} (a_{11}a_{22} - a_{12}a_{21})x_1 = b_1a_{22} - b_2a_{12} \\ (a_{11}a_{22} - a_{12}a_{21})x_2 = b_2a_{11} - b_1a_{21} \end{cases} {(a11a22a12a21)x1=b1a22b2a12(a11a22a12a21)x2=b2a11b1a21
a 11 a 22 − a 12 a 21 ≠ 0 a_{11}a_{22} - a_{12}a_{21} \ne 0 a11a22a12a21=0时, 方程有唯一解
x 1 = b 1 a 22 − b 2 a 12 a 11 a 22 − a 12 a 21 , x 2 = b 2 a 11 − b 1 a 21 a 11 a 22 − a 12 a 21 x_1 = \frac{b_1a_{22} - b_2a_{12}}{a_{11}a_{22} - a_{12}a_{21}}, x_2 = \frac{b_2a_{11} - b_1a_{21}}{a_{11}a_{22} - a_{12}a_{21}} x1=a11a22a12a21b1a22b2a12,x2=a11a22a12a21b2a11b1a21

在方程组解的表达式中, 分母是方程组的4个系数确定, 提取4个系数并按他们在方程组中的位置, 排列为二行二列的数表(横排称为行, 竖排称为列)
a 11 a 12 a 21 a 22 \begin{matrix}a_{11} & a_{12} \\ a_{21} & a_{22}\end{matrix} a11a21a12a22, 其中 a 11 a 22 − a 12 a 21 a_{11}a_{22}-a_{12}a_{21} a11a22a12a21表示为 [ a 11 a 12 a 21 a 22 ] \left[\begin{matrix}a_{11} & a_{12} \\ a_{21} & a_{22}\end{matrix}\right] [a11a21a12a22], 称为二阶行列式
利用二阶行列式, 方程组的解可以表示为 x 1 = D 1 D x_1 = \frac{D_1}{D} x1=DD1, x 2 = D 2 D x_2=\frac{D_2}{D} x2=DD2, 其中 D = [ a 11 a 12 a 21 a 22 ] D = \left[\begin{matrix}a_{11} & a_{12} \\ a_{21} & a_{22}\end{matrix}\right] D=[a11a21a12a22]称为系数行列式 D 1 = [ b 1 a 12 b 2 a 22 ] D_1 = \left[\begin{matrix}b_1 & a_{12} \\ b_2 & a_{22} \end{matrix}\right] D1=[b1b2a12a22], D 2 = [ a 11 b 1 a 21 b 2 ] D_2 = \left[\begin{matrix}a_{11} & b_1 \\ a_{21} & b_2 \end{matrix}\right] D2=[a11a21b1b2]

行列式定义

从二阶行列式推导到 n n n阶行列式的定义
[ a 11 a 12 ⋯ a 1 n a 21 a 22 ⋯ a 2 n ⋮ ⋮ ⋮ a n 1 a n 2 ⋯ a n n ] = ∑ j 1 j 2 . . . j n ( − 1 ) l a 1 j 1 a 2 j 2 ⋯ a n j n \left[\begin{matrix} a_{11} & a_{12} & \cdots & a_{1n} \\ a_{21} & a_{22} & \cdots & a_{2n} \\ \vdots & \vdots & & \vdots \\ a_{n1} & a_{n2} & \cdots & a_{nn} \end{matrix}\right] = \sum_{j_1j_2...j_n}(-1)^la_{1j_1}a_{2j_2}\cdots a_{nj_n} a11a21an1a12a22an2a1na2nann =j1j2...jn(1)la1j1a2j2anjn
其中 a i j a_{ij} aij, i = 1 , 2 ⋯ , n i=1,2\cdots, n i=1,2,n, j = 1 , 2 , ⋯ , n j=1,2,\cdots, n j=1,2,,n, 称为行列式的元素, 其中 i i i称为行标, 表示该元素位于哪一行, j j j称为列下表, 表示该元素位于哪一列
j 1 j 2 ⋯ j n j_1j_2\cdots j_n j1j2jn代表 ∑ j 1 j 2 . . . j n \sum_{j_1j_2...j_n} j1j2...jn j 1 j 2 ⋯ j n j_1j_2\cdots j_n j1j2jn取一遍 1 , 2 , ⋯ n 1,2,\cdots n 1,2,n的一切排列求和, 共有 n ! n! n!
如, 123的排列为 123 , 132 , 213 , 232 , 312 , 321 123, 132, 213, 232, 312, 321 123,132,213,232,312,321排列 321 321 321的逆序数为 3 3 3, 3 ! = 6 3!=6 3!=6

常见行列式计算

一阶行列式
[ a 1 ] = a 1 \left[\begin{matrix} a_1 \end{matrix}\right] = a_1 [a1]=a1
二阶行列式
[ a 11 a 12 a 21 a 22 ] = a 11 a 22 − a 12 a 21 \left[\begin{matrix} a_{11} & a_{12} \\ a_{21} & a_{22} \end{matrix}\right] = a_{11}a_{22} - a_{12}a_{21} [a11a21a12a22]=a11a22a12a21
三阶行列式
[ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ] = a 11 a 22 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 − a 12 a 21 a 33 − a 11 a 23 a 32 \left[\begin{matrix} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{matrix}\right] = a_{11}a_{22}a_{33} + a_{12}a_{23}a_{31} + a_{13}a_{21}a_{32} - a_{13}a_{22}a_{31} - a_{12}a_{21}a_{33} - a_{11}a_{23}a_{32} a11a21a31a12a22a32a13a23a33 =a11a22a33+a12a23a31+a13a21a32a13a22a31a12a21a33a11a23a32
计算公式
主对角线 - 副对角线
在这里插入图片描述
求行列式的值
A = [ 1 − 2 3 − 1 2 1 − 3 − 4 − 2 ] A = \left[\begin{matrix} 1 & -2 & 3 \\ -1 & 2 & 1 \\ -3 & -4 & -2 \end{matrix}\right] A= 113224312
根据定义解得:
A = 1 × 2 × ( − 2 ) + ( − 2 ) × 1 × ( − 3 ) + 3 × ( − 4 ) × ( − 1 ) − 3 × 2 × ( − 3 ) − ( − 2 ) × ( − 1 ) × ( − 2 ) − 1 × ( − 4 ) × 1 = 40 A=1 \times 2 \times (-2) + (-2) \times 1 \times (-3) + 3 \times (-4) \times (-1) - 3 \times 2 \times (-3) - (-2) \times (-1) \times (-2) - 1 \times (-4) \times 1 = 40 A=1×2×(2)+(2)×1×(3)+3×(4)×(1)3×2×(3)(2)×(1)×(2)1×(4)×1=40
方阵 A A A的行列式可以判断 A A A是否可逆, 不为0可逆, 为0不可逆

行列式和矩阵的区别

行列式
  • 行数等于列数
  • 共有 n 2 n^2 n2个元素
  • 本质是一个数值(一种矩阵的计算方式)
矩阵
  • 行数可以不等于列数
  • m × n m \times n m×n和元素
  • 本质是一个数表

行列式计算

Numpy中通过np.linalg.det()函数计算

import numpy as npA = np.array([[1, 2], [3, 4]])
print("A 的行列式为 np.linalg.det(A): ", np.linalg.det(A))
print("A 矩阵是否可逆: ", np.linalg.det(A) != 0)
B = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print("B 的行列式为 np.linalg.det(B): ", np.linalg.det(B))
print("B 矩阵是否可逆: ", np.linalg.det(B) != 0)

矩阵的秩

矩阵的秩代表计算线性方程组解的数目, 去掉无关项(线性相关)然后其余的数量就是矩阵的秩, 矩阵的秩可以从行和列两个方向观察, 首先要了解线性相关和线性无关

向量组

α 1 = [ a 11 a 21 ⋮ a m 1 ] , α 2 = [ a 12 a 22 ⋮ a m 2 ] , α n = [ a 1 n a 2 n ⋮ a m n ] \alpha_1 = \left[\begin{matrix} a_{11} \\ a_{21} \\ \vdots \\ a_{m1} \end{matrix}\right], \alpha_2 = \left[\begin{matrix} a_{12} \\ a_{22} \\ \vdots \\ a_{m2} \end{matrix}\right], \alpha_n = \left[\begin{matrix} a_{1n} \\ a_{2n} \\ \vdots \\ a_{mn} \end{matrix}\right] α1= a11a21am1 ,α2= a12a22am2 ,αn= a1na2namn , 每个 α i \alpha_i αi称为 m m m维列向量

β 1 = [ a 11 a 21 ⋯ a m 1 ] , β 2 = [ a 12 a 22 ⋯ a m 2 ] , β n = [ a 1 n a 2 n ⋯ a m n ] \beta_1 = \left[\begin{matrix} a_{11} & a_{21} & \cdots & a_{m1} \end{matrix}\right], \beta_2 = \left[\begin{matrix} a_{12} & a_{22} & \cdots && a_{m2} \end{matrix}\right], \beta_n = \left[\begin{matrix} a_{1n} & a_{2n} & \cdots & a_{mn} \end{matrix}\right] β1=[a11a21am1],β2=[a12a22am2],βn=[a1na2namn], 每个 a i a_i ai称为 m m m维行向量

import numpy as npA = np.array([[1, 2, 3], [4, 5, 6]])# reshape 重新绘制向量, 否则为1维数组
print("第0行: \n", A[0, :].reshape(1, -1))
print("第1列: \n", A[:, 1].reshape(-1, 1))"""output:
第0行: [[1 2 3]]
第1列: [[2][5]]"""

向量组的线性相关和线性无关

线性相关 vs 线性无关

本质问题:这些向量里有没有「多余的」?

线性相关(有冗余)
  • 例子
    向量A = [1,2],向量B = [2,4]
    → B = 2×A,B完全可以用A复制粘贴得到
    → 像拼乐高时,你已经有红砖了,又拿了个两倍大的红砖,没带来新形状

  • 数学定义
    存在不全为0的系数(比如k₁=2, k₂=-1),使得 k₁A + k₂B = 0
    → 向量之间能互相「组合」出来,存在冗余

线性无关(都必要)
  • 例子
    向量X = [1,0](横向箭头),向量Y = [0,1](纵向箭头)
    → 无法用X造出Y,也无法用Y造出X
    → 像乐高红砖和蓝砖,拼平面必须同时需要两者

  • 数学意义
    没有任何一个向量能被其他向量组合出来
    → 每个向量都贡献了独特的「方向」

矩阵的秩(本质:独立信息数)

本质问题:这个矩阵里有多少个真正「有用」的向量?

直观理解
  • 矩阵就像行李箱打包
    每一列是一个物品(向量),秩 = 真正有用的物品数量
    • 如果塞了5件衣服但都是同样的T恤 → 秩=1(其实带一件就够了)
    • 如果带了T恤、外套、裤子、袜子 → 秩=4(每样都不同)
具体例子
  • 秩=1的矩阵

    [1 2 3]  
    [2 4 6]  
    

    → 所有列都是[1,2]的倍数,第三列=第一列×3
    → 像只带了一个U盘但复制了3份文件,实际信息量=1

  • 秩=2的矩阵

    [1 0 1]  
    [0 1 1]  
    

    → 前两列是X/Y方向箭头,第三列=前两列相加
    → 虽然3列,但最多能表示二维平面里的所有点

几何意义
  • 秩=能撑开的空间维度
    • 秩1 → 所有向量挤在一条直线上
    • 秩2 → 向量铺满一个平面
    • 秩3(三维矩阵)→ 充满立体空间
为什么重要?
  1. 解方程
    Ax=0的解的数量 = 未知数个数 - 秩
    → 秩越小,自由度越大(比如行李箱空位多)

  2. 数据压缩
    图片/视频矩阵如果秩低,说明有大量重复 → 可压缩

  3. 机器学习
    特征向量如果线性相关,说明有冗余特征需要剔除

矩阵秩的计算

题目1

求矩阵 A = [ 1 2 3 2 4 6 3 6 9 ] A = \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9 \end{bmatrix} A= 123246369 的秩。

步骤解析
  1. 观察原始矩阵
    每一行的数字都很像成比例的:

    • 第2行 = 第1行 × 2
    • 第3行 = 第1行 × 3
      明显冗余(像行李箱里塞了3个同样的T恤)。
  2. 用行变换化简
    目标是把矩阵变成「阶梯形」,只保留独立信息。

    • 第1步:保留第1行不变。
      [ 1 2 3 2 4 6 3 6 9 ] \begin{bmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 3 & 6 & 9 \end{bmatrix} 123246369
    • 第2步:用第1行消去第2行和第3行的第一个元素:
      • 第2行 → 第2行 - 2×第1行:
        [ 2 , 4 , 6 ] − 2 × [ 1 , 2 , 3 ] = [ 0 , 0 , 0 ] [2, 4, 6] - 2×[1, 2, 3] = [0, 0, 0] [2,4,6]2×[1,2,3]=[0,0,0]
      • 第3行 → 第3行 - 3×第1行:
        [ 3 , 6 , 9 ] − 3 × [ 1 , 2 , 3 ] = [ 0 , 0 , 0 ] [3, 6, 9] - 3×[1, 2, 3] = [0, 0, 0] [3,6,9]3×[1,2,3]=[0,0,0]
        结果变为:
        [ 1 2 3 0 0 0 0 0 0 ] \begin{bmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} 100200300
  3. 统计非零行数
    只有第1行是非零行 → 秩 = 1

比喻解释
  • 矩阵像一个行李箱,里面装了3件物品(3行),但全是同一款T恤(成比例)。
  • 实际有用的物品只有1件 → 秩 = 1
题目2

求矩阵 B = [ 1 0 2 0 1 3 ] B = \begin{bmatrix} 1 & 0 & 2 \\ 0 & 1 & 3 \end{bmatrix} B=[100123] 的秩。

步骤解析
  1. 观察原始矩阵

    • 第1行和第2行没有比例关系(像一件T恤和一条裤子)。
    • 已经是阶梯形(每行的首项数字在右侧)。
  2. 直接统计非零行数
    有2行非零行 → 秩 = 2

几何意义
  • 两个向量 [ 1 , 0 ] [1, 0] [1,0] [ 0 , 1 ] [0, 1] [0,1] 是正交的,可以撑开一个二维平面。
  • 第三列 [ 2 , 3 ] [2, 3] [2,3] 被前两列组合出来( 2 × [ 1 , 0 ] + 3 × [ 0 , 1 ] = [ 2 , 3 ] 2×[1,0] + 3×[0,1] = [2,3] 2×[1,0]+3×[0,1]=[2,3]),属于冗余信息。
总结方法
  1. 核心思想

    • 秩 = 矩阵中线性无关的行(或列)的最大数量。
    • 用初等行变换将矩阵简化为阶梯形,数非零行数即可。
  2. 技巧

    • 看是否有某行/列是其他行/列的倍数或组合。
    • 零行或零列对秩无贡献(像行李箱里的空袋子)。
  3. 常见陷阱

    • 误以为矩阵的秩等于行数或列数(需看独立信息)。
    • 行变换时计算错误(建议分步写中间结果)。
代码计算
import numpy as npE = np.eye(5)
print(E)
print("单位矩阵E的秩: \n",  np.linalg.matrix_rank(E))
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]])  # 根据列算 + 1
print("A的秩: \n", np.linalg.matrix_rank(A))"""output:
[[1. 0. 0. 0. 0.][0. 1. 0. 0. 0.][0. 0. 1. 0. 0.][0. 0. 0. 1. 0.][0. 0. 0. 0. 1.]]
单位矩阵E的秩: 5
A的秩: 2"""

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

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

相关文章

开心灿烂go开发面试题

1.给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] package main import “fmt” type ListNode struct { Val int Next *ListNode } func main() { l1 : &…

【Flutter】程序报错导致的灰屏总结

【Flutter】程序报错导致的灰屏总结 一、前言 在 Flutter 中,出现“灰屏”(grey screen)通常意味着 应用发生了未捕获的错误,导致框架无法正确构建 UI。 这也是在面试过程中常常问到的。 二、错误分类 常见的会导致灰屏的错误…

基于物联网设计的智慧家庭健康医疗系统

1. 项目开发背景 随着物联网(IoT)技术的发展,智能家居系统逐渐融入到我们的日常生活中,成为提高生活质量、增强家庭安全、提升健康管理的重要工具。特别是在健康医疗领域,借助物联网技术,智能家居不仅能够…

设计模式精讲 Day 1:单例模式(Singleton Pattern)

【设计模式精讲 Day 1】单例模式(Singleton Pattern) 文章内容 开篇 在软件开发中,设计模式是解决常见问题的通用解决方案。作为“设计模式精讲”系列的第一天,我们将深入讲解单例模式(Singleton Pattern&#xff09…

【卫星通信】3GPP标准提案:面向NB-IoT(GEO)场景的IMS信令优化方案-降低卫星通信场景下的语音呼叫建立时延

一、引言 随着5G非地面网络(NTN)技术的演进,基于NB-IoT的卫星通信(如GEO地球同步轨道卫星)逐渐成为偏远地区语音服务的重要补充。然而,传统IP多媒体子系统(IMS)的信令流程在带宽受限…

软件测试之简单基础的安全测试方法(另外包含软测面试题库)

文章目录 前言安全测试是什么简单基础的安全测试方法密码安全操作权限验证SQL注入xss脚本攻击文件上传下载安全漏洞扫描Web扫描APP扫描 面试题库(仅参考)参考目录 前言 阅读本文前请注意最后编辑时间,文章内容可能与目前最新的技术发展情况相…

LCEL:LangChain 表达式语言详解与测试工程师的实践指南

引言 在 AI 应用开发中,如何高效地组合多个步骤(如提示模板、模型调用、输出解析)并优化执行流程,是开发者和测试工程师共同面临的挑战。LangChain Expression Language (LCEL) 作为 LangChain 的核心功能之一,提供了…

LeetCode面试经典150题—旋转数组—LeetCode189

原题请见:Leetcode189-旋转数组 1、题目描述 2、题目分析 首先容易想到的最简单的方案,是算出来移动K步之后,新数组的每一个坐标与原坐标的映射关系,然后根据映射关系放到一个全新的数组,再把新数组的值赋给原数组。…

2.5 Rviz使用教程

新建终端,键入命令 roslaunch wpr_simulation wpb_simple.launch 再新建终端,键入命令 rviz修改Fix Frame 为 base_footprint 点击add之后选择RobotModel 再增加一个LaserScan 选择激光雷达话题 可视化效果 配置的两种方法 1.在Gazebo运行的基础上&…

基于SpringBoot+JSP开发的招投标采购信息平台

角色: 管理员、普通用户 技术: 后端:Spring Boot Mybatis-Plus MySQL 前端:JSP 核心功能: 该平台是一个用于管理投标和招标信息的系统,主要提供信息发布、用户管理和交易管理等核心功能。 功能介绍…

【项目实训#10】HarmonyOS API文档RAG检索系统后端实现

【项目实训#10】HarmonyOS API文档RAG检索系统后端实现 文章目录 【项目实训#10】HarmonyOS API文档RAG检索系统后端实现一、背景简介二、RAG技术原理与架构设计2.1 RAG技术原理回顾与提升2.2 系统架构设计 三、RAG引擎核心实现3.1 RAG引擎初始化3.2 查询向量化3.3 文档检索实现…

专注于PLC数据采集MES交互解决方案

专注于PLC数据采集MES交互解决方案 前篇文章我们讲到当下的制造行业在工业4.0的大趋势下,MES系统成为现场制造过程管制的有利武器,更是质量追踪的一把好工具。我们要知道产品在各个加工环节的结果。除了人工在各个制造环节录入制造结果外,更…

微信小程序实现文字逐行动画效果渲染显示

1. 微信小程序实现文字逐行动画效果渲染显示 在微信小程序开发中,为了文字逐行动画效果渲染可以通过JavaScript 和 WXML 的动态数据绑定来实现,实现文字逐行显示的效果,同时结合 CSS 动画提升视觉体验。   如果需要更复杂的动画效果(如缩放、移动等),可以使用微信小程序…

Redux 原理深度剖析

1. Redux 实现 定义 Action 和 Reducer 类型,为了简便,先用JavaScript来演示。 1.1. 定义Action和Reducer类型 // 定义 Action 类型 /*** typedef {Object} Action* property {string} type*/// 定义 Reducer 类型 /*** callback Reducer* param {any…

【LangChain】4 基于文档的问答

对于给定的文档, 比如从PDF、网页、公司主页中提取构建的内部文档集合,我们可以使用大语言模型来回答关于这些文档内容的问题,以帮助用户更有效地获取和使用他们所需要的信息。这种方式非常有效且灵活地适用于实际应用场景,因为它不仅仅利用大…

基于Netty的TCP Server端和Client端解决正向隔离网闸数据透传问题

背景 因为安装了正向隔离网闸&#xff0c;导致数据传输的时候仅支持TCP协议和UDP协议&#xff0c;因此需要开发TCP Client和Server服务来将数据透传&#xff0c;当前环境是获取的数据并将数据转发到kafka 1.引入依赖 <dependency><groupId>io.netty</groupId>…

Cursor链接远程服务器实现项目部署

想获取更多高质量的Java技术文章&#xff1f;欢迎访问Java技术小馆官网&#xff0c;持续更新优质内容&#xff0c;助力技术成长 技术小馆官网 在软件开发过程中&#xff0c;远程服务器开发是一种常见的工作模式。通过远程连接服务器进行代码编写和环境配置&#xff0c;可以充分…

Redis集群模式之Redis Cluster(3)

上篇文章我们讲解了Redis Cluster的状态监测与恢复过程&#xff0c;这篇文章我们来进行Redis Cluster内容的收尾&#xff0c;将其扩容和缩容的过程进行讲解&#xff0c;并分析RedisCluster的优缺点。 扩容和缩容 当集群中出现容量限制或者其他一些原因需要扩容时&#xff0c;R…

Cursor ReAct Agent技术架构

一、架构核心思想 “零熵操作交给AI”理念 Cursor通过ReAct模式实现编程中重复性工作的自动化&#xff1a; 零熵操作&#xff1a;机械性任务&#xff08;代码补全/格式化/重构/语法修复/导入管理&#xff09; Tab-away机制&#xff1a;一键接受AI建议&#xff0c;保持思维连续…

国学IP行业实战洞察:聚焦创客匠人,解锁创始人IP与知识变现新路径

国学行业正经历“文化价值”与“商业变现”的深度融合&#xff0c;2023年市场规模突破千亿大关&#xff0c;年增速超 10%。在“IP化数字化”浪潮中&#xff0c;创客匠人作为垂直领域技术服务商&#xff0c;以全链路工具矩阵为支点&#xff0c;撬动国学创始人IP从内容生产到商业…