矩阵,求矩阵秩、逆矩阵
求矩阵秩的方法:
- 高斯消元法:通过行变换将矩阵化为行阶梯形矩阵,然后数非零行的数量。
- LU分解:通过分解矩阵成上下三角矩阵,计算非零对角元素的数量。
- SVD分解:通过奇异值分解,计算非零奇异值的数量。
- 行列式法:检查所有可能的子矩阵行列式,寻找最大的非零子矩阵。
求逆矩阵的方法:
- 高斯-约当消去法(Gauss-Jordan Elimination):将增广矩阵 [ A ∣ I ] [A | I] [A∣I]化为 [ I ∣ A − 1 ] [I | A^{-1}] [I∣A−1]。
- 伴随矩阵法(Adjugate Matrix Method):通过计算伴随矩阵和行列式求逆矩阵。
- LU分解:通过上下三角矩阵分解求逆矩阵。
- SVD分解:通过奇异值分解求逆矩阵。
- Cholesky分解:适用于正定矩阵,通过分解求逆矩阵。
这些方法各有其优点和适用场景,根据具体问题选择合适的方法。
用高斯消元法求三阶矩阵的秩
假设我们有矩阵 A A A:
A = ( 1 2 3 2 4 6 1 1 1 ) A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 1 & 1 & 1 \end{pmatrix} A= 121241361
步骤:
-
用第二行减去第一行的2倍:
A ′ = ( 1 2 3 0 0 0 1 1 1 ) A' = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 1 & 1 & 1 \end{pmatrix} A′= 101201301 -
用第三行减去第一行:
A ′ ′ = ( 1 2 3 0 0 0 0 − 1 − 2 ) A'' = \begin{pmatrix} 1 & 2 & 3 \\ 0 & 0 & 0 \\ 0 & -1 & -2 \end{pmatrix} A′′= 10020−130−2
此时行阶梯形矩阵中有2个非零行,因此矩阵 A A A的秩为2。
用行列式法求三阶矩阵的秩
假设我们有同样的矩阵 A A A:
A = ( 1 2 3 2 4 6 1 1 1 ) A = \begin{pmatrix} 1 & 2 & 3 \\ 2 & 4 & 6 \\ 1 & 1 & 1 \end{pmatrix} A= 121241361
步骤:
-
计算 3 × 3 3 \times 3 3×3矩阵的行列式:
det ( A ) = 1 ∣ 4 6 1 1 ∣ − 2 ∣ 2 6 1 1 ∣ + 3 ∣ 2 4 1 1 ∣ \text{det}(A) = 1 \begin{vmatrix} 4 & 6 \\ 1 & 1 \end{vmatrix} - 2 \begin{vmatrix} 2 & 6 \\ 1 & 1 \end{vmatrix} + 3 \begin{vmatrix} 2 & 4 \\ 1 & 1 \end{vmatrix} det(A)=1 4161 −2 2161 +3 2141
det ( A ) = 1 ( 4 ⋅ 1 − 6 ⋅ 1 ) − 2 ( 2 ⋅ 1 − 6 ⋅ 1 ) + 3 ( 2 ⋅ 1 − 4 ⋅ 1 ) \text{det}(A) = 1 (4 \cdot 1 - 6 \cdot 1) - 2 (2 \cdot 1 - 6 \cdot 1) + 3 (2 \cdot 1 - 4 \cdot 1) det(A)=1(4⋅1−6⋅1)−2(2⋅1−6⋅1)+3(2⋅1−4⋅1)
det ( A ) = 1 ( − 2 ) − 2 ( − 4 ) + 3 ( − 2 ) \text{det}(A) = 1 (-2) - 2 (-4) + 3 (-2) det(A)=1(−2)−2(−4)+3(−2)
det ( A ) = − 2 + 8 − 6 = 0 \text{det}(A) = -2 + 8 - 6 = 0 det(A)=−2+8−6=0 -
行列式为0,表示矩阵 A A A的秩小于3。我们需要检查所有 2 × 2 2 \times 2 2×2子矩阵:
∣ 1 2 2 4 ∣ = 1 ⋅ 4 − 2 ⋅ 2 = 0 \begin{vmatrix} 1 & 2 \\ 2 & 4 \end{vmatrix} = 1 \cdot 4 - 2 \cdot 2 = 0 1224 =1⋅4−2⋅2=0
∣ 1 3 1 1 ∣ = 1 ⋅ 1 − 3 ⋅ 1 = − 2 \begin{vmatrix} 1 & 3 \\ 1 & 1 \end{vmatrix} = 1 \cdot 1 - 3 \cdot 1 = -2 1131 =1⋅1−3⋅1=−2
∣ 2 3 4 6 ∣ = 2 ⋅ 6 − 3 ⋅ 4 = 0 \begin{vmatrix} 2 & 3 \\ 4 & 6 \end{vmatrix} = 2 \cdot 6 - 3 \cdot 4 = 0 2436 =2⋅6−3⋅4=0
找到一个非零子矩阵,表示矩阵的秩为2。
用增广矩阵法求三阶矩阵的逆矩阵
假设我们有矩阵 B B B:
B = ( 2 − 1 0 − 1 2 − 1 0 − 1 2 ) B = \begin{pmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{pmatrix} B= 2−10−12−10−12
步骤:
-
构建增广矩阵 [ B ∣ I ] [B | I] [B∣I]:
( 2 − 1 0 ∣ 1 0 0 − 1 2 − 1 ∣ 0 1 0 0 − 1 2 ∣ 0 0 1 ) \begin{pmatrix} 2 & -1 & 0 & | & 1 & 0 & 0 \\ -1 & 2 & -1 & | & 0 & 1 & 0 \\ 0 & -1 & 2 & | & 0 & 0 & 1 \end{pmatrix} 2−10−12−10−12∣∣∣100010001 -
通过高斯-约当消去法将其化为 [ I ∣ B − 1 ] [I | B^{-1}] [I∣B−1]:
( 1 0 0 ∣ 3 4 1 2 1 4 0 1 0 ∣ 1 2 1 1 2 0 0 1 ∣ 1 4 1 2 3 4 ) \begin{pmatrix} 1 & 0 & 0 & | & \frac{3}{4} & \frac{1}{2} & \frac{1}{4} \\ 0 & 1 & 0 & | & \frac{1}{2} & 1 & \frac{1}{2} \\ 0 & 0 & 1 & | & \frac{1}{4} & \frac{1}{2} & \frac{3}{4} \end{pmatrix} 100010001∣∣∣43214121121412143
得到矩阵 B B B的逆矩阵为:
B − 1 = ( 3 4 1 2 1 4 1 2 1 1 2 1 4 1 2 3 4 ) B^{-1} = \begin{pmatrix} \frac{3}{4} & \frac{1}{2} & \frac{1}{4} \\ \frac{1}{2} & 1 & \frac{1}{2} \\ \frac{1}{4} & \frac{1}{2} & \frac{3}{4} \end{pmatrix} B−1= 43214121121412143
用伴随矩阵法求三阶矩阵的逆矩阵
假设我们有同样的矩阵 B B B:
B = ( 2 − 1 0 − 1 2 − 1 0 − 1 2 ) B = \begin{pmatrix} 2 & -1 & 0 \\ -1 & 2 & -1 \\ 0 & -1 & 2 \end{pmatrix} B= 2−10−12−10−12
步骤:
-
计算矩阵的行列式:
det ( B ) = 2 ∣ 2 − 1 − 1 2 ∣ − ( − 1 ) ∣ − 1 − 1 0 2 ∣ + 0 \text{det}(B) = 2 \begin{vmatrix} 2 & -1 \\ -1 & 2 \end{vmatrix} - (-1) \begin{vmatrix} -1 & -1 \\ 0 & 2 \end{vmatrix} + 0 det(B)=2 2−1−12 −(−1) −10−12 +0
det ( B ) = 2 ( 4 − 1 ) − ( − 1 ) ( − 2 ) \text{det}(B) = 2 (4 - 1) - (-1)(-2) det(B)=2(4−1)−(−1)(−2)
det ( B ) = 2 ⋅ 3 − 2 = 4 \text{det}(B) = 2 \cdot 3 - 2 = 4 det(B)=2⋅3−2=4 -
计算伴随矩阵(Cofactor Matrix的转置):
adj ( B ) = ( ∣ 2 − 1 − 1 2 ∣ − ∣ − 1 − 1 − 1 2 ∣ ∣ − 1 2 − 1 2 ∣ − ∣ − 1 0 − 1 2 ∣ ∣ 2 0 0 2 ∣ − ∣ 2 − 1 0 − 1 ∣ ∣ − 1 0 2 − 1 ∣ − ∣ 2 − 1 − 1 − 1 ∣ ∣ 2 − 1 − 1 2 ∣ ) \text{adj}(B) = \begin{pmatrix} \begin{vmatrix} 2 & -1 \\ -1 & 2 \end{vmatrix} & -\begin{vmatrix} -1 & -1 \\ -1 & 2 \end{vmatrix} & \begin{vmatrix} -1 & 2 \\ -1 & 2 \end{vmatrix} \\ -\begin{vmatrix} -1 & 0 \\ -1 & 2 \end{vmatrix} & \begin{vmatrix} 2 & 0 \\ 0 & 2 \end{vmatrix} & -\begin{vmatrix} 2 & -1 \\ 0 & -1 \end{vmatrix} \\ \begin{vmatrix} -1 & 0 \\ 2 & -1 \end{vmatrix} & -\begin{vmatrix} 2 & -1 \\ -1 & -1 \end{vmatrix} & \begin{vmatrix} 2 & -1 \\ -1 & 2 \end{vmatrix} \end{pmatrix} adj(B)= 2−1−12 − −1−102 −120−1 − −1−1−12 2002 − 2−1−1−1 −1−122 − 20−1−1 2−1−12 -
计算每个代数余子式:
∣ 2 − 1 − 1 2 ∣ = 4 − 1 = 3 \begin{vmatrix} 2 & -1 \\ -1 & 2 \end{vmatrix} = 4 - 1 = 3 2−1−12 =4−1=3
− ∣ − 1 − 1 − 1 2 ∣ = − ( − 1 ( 2 ) − ( − 1 ) ( − 1 ) ) = − ( − 2 − 1 ) = 3 -\begin{vmatrix} -1 & -1 \\ -1 & 2 \end{vmatrix} = -(-1(2) - (-1)(-1)) = -(-2 - 1) = 3 − −1−1−12 =−(−1(2)−(−1)(−1))=−(−2−1)=3
∣ − 1 2 − 1 2 ∣ = − 1 ( 2 ) − 2 ( − 1 ) = − 2 + 2 = 0 \begin{vmatrix} -1 & 2 \\ -1 & 2 \end{vmatrix} = -1(2) - 2(-1) = -2 + 2 = 0 −1−122 =−1(2)−2(−1)=−2+2=0
− ∣ − 1 0 − 1 2 ∣ = − ( − 1 ( 2 ) − 0 ( − 1 ) ) = − ( − 2 ) = 2 -\begin{vmatrix} -1 & 0 \\ -1 & 2 \end{vmatrix} = -(-1(2) - 0(-1)) = -(-2) = 2 − −1−102 =−(−1(2)−0(−1))=−(−2)=2
∣ 2 0 0 2 ∣ = 4 \begin{vmatrix} 2 & 0 \\ 0 & 2 \end{vmatrix} = 4 2002 =4
− ∣ 2 − 1 0 − 1 ∣ = − ( 2 ( − 1 ) − 0 ) = 2 -\begin{vmatrix} 2 & -1 \\ 0 & -1 \end{vmatrix} = -(2(-1) - 0) = 2 − 20−1−1 =−(2(−1)−0)=2
∣ − 1 0 2 − 1 ∣ = ( − 1 ) ( − 1 ) − 0 = 1 \begin{vmatrix} -1 & 0 \\ 2 & -1 \end{vmatrix} = (-1)(-1) - 0 = 1 −120−1 =(−1)(−1)−0=1
− ∣ 2 − 1 − 1 − 1 ∣ = − ( − 2 + 1 ) = 1 -\begin{vmatrix} 2 & -1 \\ -1 & -1 \end{vmatrix} = -(-2 + 1) = 1 − 2−1−1−1 =−(−2+1)=1
∣ 2 − 1 − 1 2 ∣ = 4 − 1 = 3 \begin{vmatrix} 2 & -1 \\ -1 & 2 \end{vmatrix} = 4 - 1 = 3 2−1−12 =4−1=3 -
转置得到伴随矩阵:
adj ( B ) = ( 3 2 1 3 4 1 0 2 3 ) \text{adj}(B) = \begin{pmatrix} 3 & 2 & 1 \\ 3 & 4 & 1 \\ 0 & 2 & 3 \end{pmatrix} adj(B)= 330242113 -
计算逆矩阵:
B − 1 = 1 det ( B ) adj ( B ) = 1 4 ( 3 2 1 3 4 1 0 2 3 ) = ( 3 4 1 2 1 4 3 4 1 1 4 0 1 2 3 4 ) B^{-1} = \frac{1}{\text{det}(B)} \text{adj}(B) = \frac{1}{4} \begin {pmatrix} 3 & 2 & 1 \\ 3 & 4 & 1 \\ 0 & 2 & 3 \end{pmatrix} = \begin{pmatrix} \frac{3}{4} & \frac{1}{2} & \frac{1}{4} \\ \frac{3}{4} & 1 & \frac{1}{4} \\ 0 & \frac{1}{2} & \frac{3}{4} \end{pmatrix} B−1=det(B)1adj(B)=41 330242113 = 4343021121414143
通过这些简单的例子和步骤,可以清楚地了解如何用高斯消元法、行列式法求矩阵秩,以及用增广矩阵和伴随矩阵法求逆矩阵。
相关文章:
矩阵,求矩阵秩、逆矩阵
求矩阵秩的方法: 高斯消元法:通过行变换将矩阵化为行阶梯形矩阵,然后数非零行的数量。LU分解:通过分解矩阵成上下三角矩阵,计算非零对角元素的数量。SVD分解:通过奇异值分解,计算非零奇异值的数…...
指针和const
const int* ptr,int* const ptr,const int* const ptr 这三种指针定义有什么区别?用法有什么不同? 指向的地址是否可变指向的地址上存储的内容是否可变const属性const int* ptr可改变不可改*ptr具有const属性int* const pts不可改…...
基于C#调用文心一言大模型制作桌面软件(可改装接口)
目录 开发前的准备账号注册应用创建应用接入 开始开发创建项目设计界面使用 AK,SK 生成鉴权签名窗体代码 百度智能云千帆大模型平台什么是百度智能云千帆大模型平台模型更新记录 开发前的准备 账号注册 访问百度智能云平台,通过百度账号登录或手机号验证…...
VScode插件安装
一、常用插件 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code vscode 中文插件 Auto Rename Tag 闭合标签 Path Intellisense 一个非常实用的工具,它提供了文件路径的自动补全功能,可以极大地提高开发效率。路径自动补全、…...
《Milvus Cloud向量数据库指南》——高可用黄金标准:深入解析与业务策略考量
高可用黄金标准:深入解析与业务策略考量 在信息技术飞速发展的今天,高可用性(High Availability, HA)已成为衡量企业IT系统性能与稳定性的关键指标之一。它不仅仅关乎技术层面的优化与配置,更是企业保障业务连续性、提升客户体验、增强市场竞争力的重要基石。尽管高可用性…...
sqli-labs注入练习1,2关
sqli-labs第一关 判断是否存在sql注入 可见,根据输入数字的不同,结果也不同 判断sql语句是否是拼接,且是字符型还是数字型 由上可见,这关指定是字符型且存在sql注入漏洞 使用联合注入 第一步:首先知道表格有几列&…...
B站宋红康JAVA基础视频教程个人笔记chapter04
文章目录 1.IDEA安装好后的一些设置和学习1.1关于IDEA内部jdk版本的设置1.2 一些样式以及快捷键的常用设置(强烈推荐) 2.工程与模块管理3.如何彻底的卸载IDEA 1.IDEA安装好后的一些设置和学习 1.1关于IDEA内部jdk版本的设置 1.File—>Project Struc…...
关于java枚举为什么可以拿来当单例实现这件事看看ikun怎么说
为什么枚举可以保证单例 枚举可以保证单例的原因主要可以归结为以下几个方面: 1. 枚举的实例化过程 线程安全:枚举的实例化过程是由JVM控制的,在类加载时就完成了枚举常量的初始化。由于这个初始化过程是线程安全的(JVM在加载枚…...
Hugging Face下载模型
1、安装 huggingface-cli pip install -U huggingface_hub 2、设置环境变量(如果你打算使用 HF_ENDPOINT 环境变量来指定下载镜像站点): export HF_ENDPOINThttps://hf-mirror.com 3、使用 huggingface-cli 下载模型: 使用下面的命令来下…...
JVM-垃圾回收
什么是JVM的垃圾回收? 垃圾回收(Garbage Collection, GC)是Java虚拟机(JVM)自动管理内存的一种机制,其目的是自动回收不再使用的对象所占用的内存空间,以防止内存泄漏和提升内存利用效率。 运…...
8.C基础_指针基础
指针概述 1、定义与初始化 形式:<数据类型>* <变量名> <地址>; int a 10; int *p &a; 指针的类型不同,p时的偏移地址量不同,偏移地址 sizeof(类型)Byte 注意点: 指针的类型要与数据的类型保持一…...
安泰功率放大器使用注意事项有哪些内容和要求
功率放大器是一种广泛应用于音频系统、通信系统和实验室等领域的设备,其作用是将输入信号放大到足够大的功率输出。为了安全使用功率放大器并保证其性能和寿命,以下是一些使用功率放大器时需要注意的事项和要求。 一、选择适当的功率放大器: …...
windows下,使用vs code远程连接云服务器【以CentOS7为例】
windows下,使用vs code远程连接云服务器 1. 下载VS code并准备相关插件2. 使用Remote - SSH远程控制Linux 1. 下载VS code并准备相关插件 1. VS code官网: 下载地址:https://code.visualstudio.com/Download下载合适版本的vs code。 2. 推荐…...
x264 中像素扩边算法源码分析
介绍 在视频编码中,特别是在使用x264这样的H.264/MPEG-4 AVC编码器时,像素扩边(或称为边缘扩展)是一项重要的预处理步骤。像素扩边的目的是在帧的边缘添加额外的像素,这样在编码过程中可以应用滤波器,如去块滤波器(deblocking filter)和水平/垂直滤波器,而不会受到帧…...
数据结构——双链表详解(超详细)
前言: 小编在之前已经写过单链表的创建了,接下来要开始双链表的讲解了,双链表比单链表要复杂一些,不过确实要比单链表更好进行实现!下面紧跟小编的步伐,开启今天的双链表之旅! 目录 1.概念和结构…...
银行项目利润问题(贪心思想)
import java.util.Comparator; import java.util.PriorityQueue;public class test32 {//输入正数数组costs、正数数组profits、正数K、正数M//costs[i]表示i号项目花费,profits[i]表示i号项目在扣除花费后还挣的钱//K表示有多少项目//M表示初始资金//每做完一个项目…...
SQLite
SQLite Insert 插入 语句 方式1: INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); 方式2: INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); (如果要…...
浅谈 Mybatis 框架
文章目录 一、什么是MyBatis?1.2、JDBC 二、使用Mybatis2.1、配置MyBatis开发环境2.1.1、配置连接字符串2.1.2、配置MyBatis中的XML路径 2.2、使用MyBatis模式和语法操作数据库 三、使用 Mybatis 进行增删改查操作的要点3.1、ResultMap的用法 四、Mybatis操作难点4.1、#{ } 和…...
【星海随笔】OSPF协议
OSPF OSPF 可在单一自治系统(Autonomous System, AS)内决策路由。OSPF 是目前内部网关协议中使用最为广泛、性能最优的一个动态路由协议。 (1) OSPF 的特点。可适应大规模的网,路由变化收敛速度块,无路由自环,支持变…...
Vue 使用elementUI-plus el-calendar加 公历转农历 是否节假日 等
效果图: 1. 使用到自定文件 calendar.js /*** 1900-2100区间内的公历、农历互转* charset UTF-8* Author Jea杨(JJonlineJJonline.Cn)* Time 2014-7-21* Time 2016-8-13 Fixed 2033hex、Attribution Annals* Time 2016-9-25 Fixed lunar LeapMonth Param…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
unix/linux,sudo,其发展历程详细时间线、由来、历史背景
sudo 的诞生和演化,本身就是一部 Unix/Linux 系统管理哲学变迁的微缩史。来,让我们拨开时间的迷雾,一同探寻 sudo 那波澜壮阔(也颇为实用主义)的发展历程。 历史背景:su的时代与困境 ( 20 世纪 70 年代 - 80 年代初) 在 sudo 出现之前,Unix 系统管理员和需要特权操作的…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
均衡后的SNRSINR
本文主要摘自参考文献中的前两篇,相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程,其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt 根发送天线, n r n_r nr 根接收天线的 MIMO 系…...
ABAP设计模式之---“简单设计原则(Simple Design)”
“Simple Design”(简单设计)是软件开发中的一个重要理念,倡导以最简单的方式实现软件功能,以确保代码清晰易懂、易维护,并在项目需求变化时能够快速适应。 其核心目标是避免复杂和过度设计,遵循“让事情保…...
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数
高效线程安全的单例模式:Python 中的懒加载与自定义初始化参数 在软件开发中,单例模式(Singleton Pattern)是一种常见的设计模式,确保一个类仅有一个实例,并提供一个全局访问点。在多线程环境下,实现单例模式时需要注意线程安全问题,以防止多个线程同时创建实例,导致…...
保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合
作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...
