行列式的几何意义,计算公式_n阶行列式几何意义

行列式的几何意义,计算公式_n阶行列式几何意义近期回顾了下行列式的计算方法,以及其几何意义,本文是作者的一点浅薄理解。欢迎朋友们一起交流。线性代数系列文章见专栏,下面是往期内容:为什么要学线性代数(点击蓝色字体进入查看)正题:每一个线性变换都对应着一个变换矩阵,被变换后的空间,相对之前来说也发生了一定的形变,而行列式的意义则是线性变换前后,空间形变的倍数。以二维空间为例,旋转变换就是一种线性变换(不了解旋转变换的请看上条推送),其对应的矩阵叫旋转矩阵:该变换作用在二维空间的任一个向量,相当于将该向量逆时针旋转θ角度,于是.

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

近期回顾了下行列式的计算方法,以及其几何意义,本文是作者的一点浅薄理解。欢迎朋友们一起交流。
 线性代数系列文章见专栏,下面是往期内容:

为什么要学线性代数

(点击蓝色字体进入查看)

正题:

每一个线性变换都对应着一个变换矩阵,被变换后的空间,相对之前来说也发生了一定的形变,而行列式的意义则是线性变换前后,空间形变的倍数。

以二维空间为例,旋转变换就是一种线性变换(不了解旋转变换的请看上条推送),其对应的矩阵叫旋转矩阵:

å¾ç

该变换作用在二维空间的任一个向量,相当于将该向量逆时针旋转θ角度,于是该变换可以把整个二维空间旋转θ角度。

因为只是单纯的旋转,面积不发生变化,所以形变的倍数为1,正如该矩阵的行列式,cos^2+sin^2=1。

其他的一些变换,有的将空间伸展,有的将空间挤压,此时形变倍数就不为1了。假设有线性变换矩阵:

å¾ç

该矩阵将二维空间沿着水平方向伸展3倍,垂直方向不变。还是用上一篇推送的例子,假设有如下图形:

å¾ç

可知面积为5,将线性变换矩阵作用于图中的三个向量,比如[-1  3]T

å¾ç

如下图,绿色向量正是由蓝色向量沿水平方向伸展3倍垂直方向不变得到的向量。

(因为横坐标是负数,所以向左伸展,若是正数则向右伸展,比如向量[3  1]T)

å¾ç

经过该矩阵的作用,上述三角形变为图下所示:

å¾ç

其面积为15,正好是蓝色三角形面积的3倍,而此变换矩阵的行列式等于3,这就验证了之前的结论,即行列式的意义:线性变换后,空间形变的倍数。

取个极端情况:上述矩阵的行列式等于0 ,那么它的意义就是将该二维平面挤压至一条线甚至一个点,面积自然为零。

笔者为了做图方便,只举了水平方向伸展的例子,向其他方向伸展、挤压的情况朋友们可自行画图摸索、证明。

1.低阶行列式

二阶行列式比较简单,记住它的计算方法即可:主对角乘积 减去 副对角乘积,如下式:

å¾ç

三阶行列式计算公式为:

å¾ç

此公式可用下图来记其规律,实线相连的数相乘,系数为1,虚线相连的数相乘,系数为-1:

å¾ç

(图取自同济教材)

在实际计算中,如果行列式中0元素比较多,可以用按行(列)展开(此方法后面讲),不必记上面的公式。而且,上式也可用展开法得出。

2.全排列和逆序数

在三阶行列式的计算公式中,右侧有六项,每一项都是三个不同行、不同列的元素之积,且每一项的系数有正有负,那么他们之间有什么规律呢?这就涉及到了全排列和逆序数的知识。

全排列:

由高中数学的排列组合可知,n个元素的排列种数为n的阶乘。比如三个数1、2、3,则有六种组合:123、132、231、213、321、312。

逆序数:

对于n个不同的元素,规定一个标准次序(比如从小到大),于是在这n个元素的排列中,当某个元素的先后次序与标准次序不同,就构成1个逆序,一个排列的所有逆序的总数叫做这个排列的逆序数。

逆序数为奇数的排列叫做奇排列,为偶数则叫做偶排列

上面是课本上的定义,对于大一的同学或者之前没好好学但是想考研的同学,初次看这个定义可能不太好理解,有点懵,那么看下面计算逆序数的方法和几个例子就容易理解了:

假设1~n这n个自然数,规定从小到大为标准次序,对于任意一个元素x(x在1到n之间),如果比x大且排在x前面的元素有t个,那么就说x的逆序数是t,这n个数的逆序数之和为这个排列的逆序数。

例1:求32514这个排列的逆序数。(同济例题)

解:

对于3,排在第一位,它的前面没有比它大的数,所以其逆序数为0

对于2,2的前面比它大的数只有一个3,所以其逆序数为1

对于5,它排在第三位,前面的3和2都比它小,所以其逆序数为0

对于1,它排在第四位,前面的3、2、5都比它大,所以其逆序数为3

对于4,它排在最后一位,前面比它大的数只有5,所以其逆序数为1

于是,这个排列的逆序数为0+1+0+3+1=5。

上面的解法是看该元素前面有几个比它大的数,还有另一种解法,看该元素后面有几个比它小的数,还是上个题,可以这样算:

对于3,其后面有两个数比它小,分别是1、2,所以其逆序数为2;

对于2,其后面只有一个数比它小,所以其逆序数为1;

对于5,其后面有两个数1、4比它小,所以其逆序数为2;

对于1和4,其逆序数均为0;

于是,这个排列的逆序数等于2+1+2+0+0等于5。

(注意,上述都是基于标准次序从小到大顺序来计算的)

了解了逆序数的计算方法后,我们来看行列式的计算公式与逆序数有什么关系,此处以三阶为例,为了方便,下面再贴出三阶行列式的公式:

å¾ç

可以看出,右侧的每一项,除了系数外,都可写为

å¾ç

其中第一个下标(行标)是标准次序123,p1、p2、p3 是1、2、3的某个排列,前文提到,这三个数的排列有六种,所以得出上式右侧的六个乘积项,而系数的计算方法为:

p1、p2、p3为偶排列时,系数为1;

p1、p2、p3为奇排列时,系数为-1;

可以验证,系数为1的三个项,列标分别为123、231、312,其逆序数分别为0、2、2,是偶数;系数为-1的三个项,读者自行验证。

所以,各项的系数可以表示为(-1)t ,其中t是该项各元素列标排列的逆序数。

本文以三阶为例,高阶的依此类推。

(关于逆序数和行列式的关系,某一年考研中考过,具体哪年忘记了…)

本文首发于微信公众号:数字自修

行列式的几何意义,计算公式_n阶行列式几何意义

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/213540.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Js数字转字符串_java怎么将字符串转化为数字

    Js数字转字符串_java怎么将字符串转化为数字js里数字0是false但是字符串是true所以有时需要修改0+‘’数字后边加空串即可

    2022年10月25日
  • RegisterStartupScript 过期

    RegisterStartupScript 过期1.ClientScriptManager.RegisterStartupScript方法:  1)  ClientScriptManager.RegisterStartupScript (Type,String,String)  2)  ClientScriptManager.RegisterStartupScript (Type,String,String,

  • 什么是系统平均负载(Load average)

    什么是系统平均负载(Load average)一、什么是系统平均负载(Loadaverage)?在Linux系统中,uptime、w、top等命令都会有系统平均负载loadaverage的输出,那么什么是系统平均负载呢?LoadAver

  • 自动化测试 数据驱动(自动化测试解决数据错误)

    数据驱动将测试数据和测试行为完全分离,实施数据驱动测试步骤如下:A、编写测试脚本,脚本需要支持从程序对象、文件或者数据库读入测试数据;B、将测试脚本使用的测试数据存入程序对象、文件或者数据库等外部介质中;C、运行脚本过程中,循环调用存储在外部介质中的测试数据;D、验证所有的测试结果是否符合预期结果; 1、使用unittest和ddt进行数据驱动:#-*-coding…

  • 格雷码与二进制的转换[通俗易懂]

    格雷码与二进制的转换[通俗易懂]一、什么是格雷码?格雷码,又叫循环二进制码或反射二进制码,格雷码是我们在工程中常会遇到的一种编码方式,它的基本的特点就是任意两个相邻的代码只有一位二进制数不同,这点在下面会详细讲解到。格雷码的基本特点就是任意两个相邻的代码只有一位二进制数不同,这点很重要。常用的二进制数与格雷码间的转换关系如下表:二、二进制格雷码与自然二进制码的互换1、二进制码转换成二进制格雷码  二进制码转换成二进制格雷码,

    2022年10月17日
  • vue父子组件传值 简单了解vuex

    vue父子组件传值 简单了解vuex一、vue的父子组件之间是如何传值的?首先呢,需要说说的是,vue既然有双向绑定,那为何会有父子组件之间的传值问题?这个问题也简单,vue的组件会供其他的vue页面进行调用,如果数组都是双向绑定的话,那么就容易混乱了,比如a,b页面绑了一个num=10,那b,c页面又绑了num=5,那vue实例的num到底听谁的?所以,这就是vue官网为什么说组件之间的数据只能是单项流通的,而且由父组件传递给…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号