12 克莱姆法则的几何解释

2023-11-08 10:52
文章标签 解释 几何 法则 克莱姆

本文主要是介绍12 克莱姆法则的几何解释,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

克莱姆法则的几何解释

  • 线性方程组求解
  • 正交变换
  • 克莱姆法则

这是关于3Blue1Brown "线性代数的本质"的学习笔记。

线性方程组求解

克莱姆法则并非解线性方程组的最好方法(高斯消元法更好),了解它是为了加深对线性方程组的理解。
在这里插入图片描述

图1 线性方程组
只要未知数和方程个数一样,这里所说的方法都适用。为了简单方便,用一个小例子。

对于 3 x + 2 y = − 4 − x + x y = − 2 \begin{aligned} 3x+2y=-4 \\ -x+xy=-2\end{aligned} 3x+2y=4x+xy=2
可以把这个方程组看作对[x, y]向量的一个已知的矩阵变换
在这里插入图片描述

图2 线性方程组转换为线性变换
变换后的位置已知,变换后的基向量已知。所以问题变成了

哪个输入向量[x, y]在变换后成为了[-4,-2]?

思路1:
我们已知的向量是矩阵列向量的一个线性组合
在这里插入图片描述

图3 线性组合求解思路
思路2:

在这里插入图片描述

图4 行列式求解
这里注意,我们只考虑行列式不为零的情况。如果为零,可能无解,可能有无数个向量都可以变换到我们的已知向量。

行列式不为零意味着线性变换后维数依然相同。即,每个输入向量仅对应一个输出向量,且每个输出向量也仅对应一个输入向量。

正交变换

不改变点积的变换是正交变换。正交变换使基向量在变换后依然保持单位长度,且相互垂直,没有拉伸、压缩、变形。把正交变换可以想象成刚体运动的旋转。

用正交矩阵求解线性系统非常简单,因为点积不变,所以,已知的输出向量和矩阵的列向量的点积,分别等同于未知输入向量和各基向量的点积。也就是输入向量的每一个坐标。
在这里插入图片描述

图5 正交变换与线性方程组
因此,在特殊情况下,x等于第一列向量与已知向量的点积,y等于第二列向量与已知向量的点积。

在这里插入图片描述

图6 正交变换求解线性方程组
虽然这个思路对大多数线性方程组都不成立(因为非正交变换会导致变换前后,两个向量的夹角发生变化,因而点积会变化),但它给了我们一个方向去思考。

克莱姆法则

有没有另一种对输入向量坐标值的几何解释,能在矩阵变换后保持不变呢?

我们看看行列式。

怎么来求由第一个基向量 i ⃗ \vec{i} i 和未知的输入向量 [ x , y ] T [x,y]^{T} [x,y]T组成的平行四边形面积?
在这里插入图片描述

图7 由第一个基向量和未知输入向量构成的平行四边形

面积是长度为1的低,乘上与底边垂直的高,这个高正好是未知向量 [ x , y ] T [x,y]^{T} [x,y]T y y y坐标。
在这里插入图片描述

图8 由第一个基向量和未知输入向量构成的平行四边形面积表示
因此,可以用这个平行四边形的面积来表示$y$。

更准确地,应该考虑这个平行四边形的有向面积。如果向量的 y y y坐标是负的,则四边形面积也为负。前提是把基向量的 i ⃗ \vec{i} i 放在第一位来定义平行四边形。
在这里插入图片描述

图9 由第二个基向量和未知输入向量构成的平行四边形面积表示
未知向量$[x,y]^{T}$的$x$坐标等于由第二个基向量$\vec{j}$和未知的输入向量$[x,y]^{T}$组成的平行四边形面积。

举一反三,三维呢?
直观地,在 z z z轴上的坐标等于第三个基向量 k ⃗ \vec{k} k 和未知的输入向量 [ x , y ] T [x,y]^{T} [x,y]T组成的平行四边形面积,也就是基向量 k ⃗ \vec{k} k 和未知的输入向量 [ x , y ] T [x,y]^{T} [x,y]T的叉积。

但有更好的方法。
考虑未知向量与另外两个基向量 i ⃗ \vec{i} i j ⃗ \vec{j} j 所组成的平行六面体
在这里插入图片描述

图10 平行六面体

在这里插入图片描述

图11 用平行六面体提交计算z坐标

这个平面六面体的底面是由基向量 i ⃗ \vec{i} i j ⃗ \vec{j} j 组成的正方形,面积是1,所以,它的体积等于它的高,也就是未知向量的z坐标。

同样地,可以用这个奇怪的方法来描述未知向量在某一个轴上的坐标值。
在这里插入图片描述

图12 用平行六面体提交计算y坐标

为什么要把坐标和平行四边形或六面体的面积或体积联系在一起?
因为矩阵变换后,平行四边形的面积不一定保持不变,可能成比例增大或减小
在这里插入图片描述

图13 变换前后面积发生变换

但注意:这正是行列式的关键,所有面积伸缩的比例都是一样的!

所有面积收缩的比例就是给定的行列式!

在这里插入图片描述

图14 变换前面积

在这里插入图片描述

图15 变换后所有面积伸缩的比例都是一样的

比如考虑一个新的平行四边形,第一条边是变换后的第一基向量(也就是矩阵的第一列),第二条边是变换后的未知向量 [ x , y ] T [x,y]^{T} [x,y]T,那它的面积是多大呢?

在这里插入图片描述

图16 变换后的第一基向量与未知向量构成的平行四边形

其实这就是我们之前提及的平行四边形的变换。变换前,面积是未知输入向量的y坐标值。

所以,变换后的面积等于矩阵的行列式乘以y值(矩阵行列式是面积伸缩比例,y是变换前的面积)。
在这里插入图片描述

图17 变换后的平行四边形面积等于矩阵行列式乘以y

故,可用输出的平行四边形面积,除以矩阵的行列式计算出y。
y = A r e a d e t ( A ) y=\frac{Area}{det(A)} y=det(A)Area
那怎么计算出面积呢?

既然我们已知最终变换后的向量,毕竟这是一个线性方程组,可以构造一个新矩阵,第一列和我们原先的矩阵相同,而第二列是输出向量,然后取新矩阵行列式(其实就是底乘高)。
在这里插入图片描述

图18 利用变换后的面积计算y
这样,就只需使用变换后的两个向量,也就是矩阵的列向量们和已知输出向量,就能计算得出未知输入向量的y值。用同样的方法也可以计算出x值。

在这里插入图片描述

图19 利用变换后的面积计算x
这个线性方程组的解法,被称为克莱姆法则。

这篇关于12 克莱姆法则的几何解释的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/369363

相关文章

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于

uva 10387 Billiard(简单几何)

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。 简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。 可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。 最后扩展的路径和横边竖边恰好组成一个直

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 1342 欧拉定理(计算几何模板)

题意: 给几个点,把这几个点用直线连起来,求这些直线把平面分成了几个。 解析: 欧拉定理: 顶点数 + 面数 - 边数= 2。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#inc

XTU 1237 计算几何

题面: Magic Triangle Problem Description: Huangriq is a respectful acmer in ACM team of XTU because he brought the best place in regional contest in history of XTU. Huangriq works in a big compa

poj 3304 几何

题目大意:给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!。 解题思路:如果存在这样的直线,过投影相交点(或投影相交区域中的点)作直线的垂线,该垂线(也是直线)必定与每条线段相交,问题转化为问是否存在一条直线和所有线段相交。 若存在一条直线与所有线段相交,此时该直线必定经过这些线段的某两个端点,所以枚举任意两个端点即可。

POJ 2318 几何 POJ 2398

给出0 , 1 , 2 ... n 个盒子, 和m个点, 统计每个盒子里面的点的个数。 const double eps = 1e-10 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;}struct Point{double x , y

poj 2653 几何

按顺序给一系列的线段,问最终哪些线段处在顶端(俯视图是完整的)。 const double eps = 1e-10 ;double add(double x , double y){if(fabs(x+y) < eps*(fabs(x) + fabs(y))) return 0 ;return x + y ;}struct Point{double x , y ;Point(){}Po

嵌入式技术的核心技术有哪些?请详细列举并解释每项技术的主要功能和应用场景。

嵌入式技术的核心技术包括处理器技术、IC技术和设计/验证技术。 1. 处理器技术    通用处理器:这类处理器适用于不同类型的应用,其主要特征是存储程序和通用的数据路径,使其能够处理各种计算任务。例如,在智能家居中,通用处理器可以用于控制和管理家庭设备,如灯光、空调和安全系统。    单用途处理器:这些处理器执行特定程序,如JPEG编解码器,专门用于视频信息的压缩或解压。在数字相机中,单用途

请解释Java Web应用中的前后端分离是什么?它有哪些好处?什么是Java Web中的Servlet过滤器?它有什么作用?

请解释Java Web应用中的前后端分离是什么?它有哪些好处? Java Web应用中的前后端分离 在Java Web应用中,前后端分离是一种开发模式,它将传统Web开发中紧密耦合的前端(用户界面)和后端(服务器端逻辑)代码进行分离,使得它们能够独立开发、测试、部署和维护。在这种模式下,前端通常通过HTTP请求与后端进行数据交换,后端则负责业务逻辑处理、数据库交互以及向前端提供RESTful