伴随矩阵 和 余子式, 行列式的关系

简介:
矩阵的伴随矩阵, 实际是由每个点位的余子式构成.
当矩阵不为正方矩阵时, 在求伴随矩阵前会刨去多余的部分再求伴随矩阵.
余子式和行列式请参考 : 
http://blog.163.com/digoal@126/blog/static/163877040201531043037899/
> install.packages("LoopAnalyst")
> x <- matrix(1:12,3,4,byrow=TRUE)
> x
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12

当矩阵不为正方矩阵时, 在求伴随矩阵前会刨去多余的部分再求伴随矩阵.
> LoopAnalyst::make.adjoint(x)
     [,1] [,2] [,3]
[1,]   -4    8   -4
[2,]    8  -16    8
[3,]   -4    8   -4

因为x不是正方矩阵, 所以它的伴随矩阵等于减去第四列后得到的正方矩阵的伴随矩阵.
> x[,-4]
     [,1] [,2] [,3]
[1,]    1    2    3
[2,]    5    6    7
[3,]    9   10   11
> LoopAnalyst::make.adjoint(x[,-4])
     [,1] [,2] [,3]
[1,]   -4    8   -4
[2,]    8  -16    8
[3,]   -4    8   -4

验证一下, 伴随矩阵的每个点是不是这上面对应的余子式.
还记得余子式的计算方法吗? 

=====================
-1^(行号+列号) 
     乘以
去除对应行列后的行列式
=====================

因为x不是正方矩阵, 所以先剪掉多余的列, 然后在算余子式
> (-1)^(1+1) * det(x[,-4][-1,-1])
[1] -4
> (-1)^(2+1) * det(x[,-4][-2,-1])
[1] 8
> (-1)^(3+1) * det(x[,-4][-3,-1])
[1] -4
> (-1)^(1+2) * det(x[,-4][-1,-2])
[1] 8
> (-1)^(2+2) * det(x[,-4][-2,-2])
[1] -16
> (-1)^(3+2) * det(x[,-4][-3,-2])
[1] 8
....


以上用到 矩阵去除某行或某列的方法
如x[-1, -2]表示减去第1行和第2列

> x
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12
> x[-1,-2]
     [,1] [,2] [,3]
[1,]    5    7    8
[2,]    9   11   12

如x[-1,]表示减去第1行, 注意不要忘记逗号
> x[-1,]
     [,1] [,2] [,3] [,4]
[1,]    5    6    7    8
[2,]    9   10   11   12

如x[, -2]表示减去第2列, 注意不要忘记逗号
> x[,-2]
     [,1] [,2] [,3]
[1,]    1    3    4
[2,]    5    7    8
[3,]    9   11   12


如果要减去多行或多列怎么减呢? 传入向量即可
如减去第一行, 第1列和第3列

> x
     [,1] [,2] [,3] [,4]
[1,]    1    2    3    4
[2,]    5    6    7    8
[3,]    9   10   11   12
> x[-1, -c(1,3)]
     [,1] [,2]
[1,]    6    8
[2,]   10   12


[参考]
目录
相关文章
|
缓存 安全 SoC
来看看ARM gicv2/gicv3的详解
来看看ARM gicv2/gicv3的详解
1331 0
|
并行计算 PyTorch 算法框架/工具
mmcv-full1.3.8 在win10上的安装
mmcv-full1.3.8 在win10上的安装
624 0
|
网络协议 Windows
解决 Parallels Desktop 虚拟机不能连网的问题
虚拟机用了很长时间都很好,突然有一天发现链接不上网络了,Mac系统联网没有问题,也设置了共享网络,但是依然链接不上网络,怎么办,来试试下面的这些方法
1091 0
|
6月前
|
机器学习/深度学习 算法
WebSailor:探索 WebAgent的超人类推理能力
通义实验室推出WebSailor方案,通过创新的post-training方法显著提升开源模型在复杂网页推理任务中的表现。该方案包括合成高不确定性数据、多轮工具调用轨迹重构及强化学习算法DUPO应用,在多个评测中展现优越性能。
482 1
|
12月前
|
人工智能 编解码 搜索推荐
《鸿蒙Next:让人工智能应用自适应不同屏幕,畅享极致体验》
鸿蒙Next系统通过引入先进的自适应布局技术,支持Row、Column、Flex等组件,实现人工智能应用在不同设备上的完美显示。结合媒体查询、条件编译、矢量图和多套图片资源,确保应用在各种屏幕尺寸和分辨率下提供优质的视图与交互体验。利用AI驱动的智能识别、用户习惯学习及实时反馈机制,进一步优化自适应显示效果,为用户带来流畅、个性化体验。
574 16
|
安全 Linux Shell
Linux服务器 /etc/pam.d目录下的文件都是什么作用?
【8月更文挑战第2天】Linux服务器 /etc/pam.d目录下的文件都是什么作用?
1918 2
|
监控 算法 Java
java电商项目(七)
微服务网关作为系统唯一对外的入口,位于客户端和服务端之间,处理非业务功能,如路由请求、鉴权、监控、缓存、限流等。它解决了客户端直接调用多个微服务带来的复杂性、跨域请求、认证复杂、难以重构等问题。常用的微服务网关技术有Nginx、Zuul和Spring Cloud Gateway。Spring Cloud Gateway因其集成断路器、路径重写和较好的性能而被广泛使用。本文介绍了如何使用Spring Cloud Gateway搭建后台网关系统,包括引入依赖、配置文件、跨域配置、路由过滤配置、负载均衡、限流等。此外,还详细讲解了RBAC权限数据管理、组织机构管理单点登录(SSO)及JWT鉴权的实现
236 1
|
JavaScript Java 测试技术
基于springboot+vue.js的大学生心理健康管理系统附带文章和源代码设计说明文档ppt
基于springboot+vue.js的大学生心理健康管理系统附带文章和源代码设计说明文档ppt
297 5
|
负载均衡 安全 测试技术
Docker 的不同网络类型详解
【8月更文挑战第24天】
309 0
|
编译器 C++ 计算机视觉
error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“
error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“
1163 0