热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

线性代数之——克拉默法则、逆矩阵和体积

1.克拉默法则这部分我们通过代数方法来求解\(Axb\)。用\(x\)替换单位矩阵的第一列,然后再乘以\(A\),我们得到一个第一列为\(b\)的矩阵,而其余列则是从矩阵\(A\)

1. 克拉默法则

这部分我们通过代数方法来求解 \(Ax=b\)。

用 \(x\) 替换单位矩阵的第一列,然后再乘以 \(A\),我们得到一个第一列为 \(b\) 的矩阵,而其余列则是从矩阵 \(A\) 中对应列直接拷贝过来的。

利用行列式的乘法法则,我们有

\[|A|(x_1)=|B_1|\]

如果我们想要求 \(x_2\),那么将 \(x\) 放在单位矩阵的第二列即可。

\[|A|(x_2)=|B_2|\]

同理,如果 \(det A \not = 0\),我们可以通过行列式来对 \(Ax=b\) 进行求解。

\[x_1 = \frac{det \space B_1}{det \space A} \quad x_2 = \frac{det \space B_2}{det \space A} \quad \cdots \quad x_n = \frac{det \space B_n}{det \space A}\]

其中 \(B_j\) 就是将矩阵 \(A\) 的第 \(j\) 列替换为向量 \(b\)。


2. 逆矩阵

对于 \(n=2\),我们通过求解 \(AA^{-1}=I\) 来找到 \(A^{-1}\) 的每一列。

为了解出 \(x\),我们需要五个行列式。

后面的四个行列式分别为 \(d,-c,-b,a\),它们分别是矩阵的代数余子式 \(C_{11},C_{12},C_{21},C_{22}\)。

对任意大小的矩阵都满足,当右边是单位矩阵的一列时,克拉默法则中矩阵 \(B_j\) 的行列式是一个代数余子式。

第一个行列式 \(|B_1|\) 是代数余子式 \(C_{11}\),第二个行列式 \(|B_2|\) 是代数余子式 \(C_{12}\),但是它位于逆矩阵的第一列,也就是 (2,1) 的位置。因此有

我们可以进行一个简单的验证,两边同时乘以 \(A\)。

左边第一行乘以第一列可得

\[a_{11}C_{11}+a_{12}C_{12}+a_{13}C_{13} = det \space A\]

第一行乘以第二列可得

\[a_{11}C_{21}+a_{12}C_{22}+a_{13}C_{23} = 0\]

这可以看作是我们将矩阵 \(A\) 的第一行复制到第二行得到另外一个矩阵 \(A^*\),矩阵 \(A^*\) 有两行元素相同,其行列式为零。另外,我们注意到矩阵 \(A\) 和 \(A^*\) 的代数余子式 \(C_{21},C_{22},C_{23}\) 是相同的,因此上式就是矩阵 \(A^*\) 的行列式,其值为零。


3. 体积

任何人都知道一个长方形的面积——底乘以高,而一个三角形的面积为底乘以高的一半。但是,如果我们只知道三角形三个顶点的坐标为 \((x_1, y_1),(x_2, y_2),(x_3, y_3)\),这时候面积为多少呢?

三角形的面积就是 \(3×3\) 行列式的一半,如果其中一个坐标为原点的话,那么行列式就只有 \(2×2\) 了。

由于平行四边形的面积是三角形面积的两倍,因此从原点开始的平行四边形是一个 \(2×2\) 的行列式。

如果我们能证明平行四边形的面积和行列式具有一样的性质,那么面积就等于行列式



  • 当 \(A = I\) 时,平行四边形就变成了单位正方形,面积为 \(det I = 1\)。

  • 当两行进行交换的时候,行列式改变符号,但平行四边形还是原来的平行四边形,其面积的绝对值没有改变。

  • 当某一行乘以 \(t\) 后,面积就变为原来的 \(t\) 倍。当其中一行不变,而另一行加上 \((x_1', y_1')\) 后,新的平行四边形的面积就为两个平行四边形面积的和。

注意右边的图形是一个平面图形,两个三角形的面积是一样的。我画了一个草图,可能会更直观一点。

\[S_{\diamond OCEB} = S_{\diamond OADB}+S_{\diamond ACED} \quad 因为 \quad S_{\triangle BED}=S_{\triangle OCA} \]

这个证明虽然不走寻常路,但是它可以很容易扩展到 \(n\) 维中去,它们都满足行列式的三个基本性质。在三维中,体积等于行列式的绝对值


4. 叉积

两个向量的叉积定义为:

叉积得到一个新的向量,这个向量垂直于 \(u\) 和 \(v\),而且有 \(v×u = -u×v\)。



  • 性质 1: \(v×u\) 交换了第二行和第三行,因此有\(v×u = -u×v\)。


  • 性质 2: \(v×u\) 垂直于 \(u\) 和 \(v\)。


行列式的三行变成了 \(u\) 、\(u\) 和 \(v\),因此其值为零。



  • 性质 3: 向量和自己的叉积是 0。当 \(u\) 和 \(v\) 平行的时候,它们的叉积也为 0。点积涉及余弦,叉积涉及正弦。

以 \(u\) 和 \(v\) 为边的平行四边形的面积等于它们叉积的模,其实也就是底乘以高。

叉积遵守右手定则,叉积后向量的方向为右手大拇指指向的方向。

\((u×v)\cdot w\) 是一个数字,代表边为 \(u\) 、\(v\) 和 \(w\) 的立方体的体积。

如果这个积为零,说明 \(u\) 、\(v\) 和 \(w\) 位于一个平面内,体积为零,矩阵是不可逆的,行列式为零。


5. 习题

如果 \(A\) 是奇异矩阵,那么有

\[AC^T=(det A)I \to AC^T = 0\]

因此, \(C^T\) 的每一列都位于矩阵 \(A\) 的零空间,我们可以通过求解矩阵的代数余子式来求解 \(Ax=0\)。

获取更多精彩,请关注「seniusen」!



推荐阅读
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文介绍了Perl的测试框架Test::Base,它是一个数据驱动的测试框架,可以自动进行单元测试,省去手工编写测试程序的麻烦。与Test::More完全兼容,使用方法简单。以plural函数为例,展示了Test::Base的使用方法。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了如何使用python从列表中删除所有的零,并将结果以列表形式输出,同时提供了示例格式。 ... [详细]
  • 热血合击脚本辅助工具及随机数生成器源码分享
    本文分享了一个热血合击脚本辅助工具及随机数生成器源码。游戏脚本能够实现类似真实玩家的操作,但信息量有限且操作不可控。热血合击脚本辅助工具可以帮助玩家自动刷图、换图拉怪等操作,并提供了雷电云手机的扩展服务。此外,还介绍了使用mt_rand函数作为随机数生成器的代码示例。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
author-avatar
涂凌萱_TLX_9s7_140
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有