行列式的计算(矩阵外面加个绝对值)

2024-08-27 19:32

本文主要是介绍行列式的计算(矩阵外面加个绝对值),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、写在前面

我表示很难过,曾经线代,矩阵学的也不算太差,可惜太久没用,导致现在连最基本的行列式都不会了。以后还是要多用,多用,多用,重要的事情说三遍。

2、行列式的计算准则

定义:n阶行列式

等于所有取自不同行不同列的n个元素的乘积

的代数和,这里是1,2,...,n的一个排列,每一项都按下列规则带有符号:当是偶排列时带有正号,当是奇排列时带有负号。这一定义可写成

这里表示对所有n级排列求和,表示排列的逆序数。

由定义立即看出,n阶行列式是由n! 项组成的。

通俗理解:

行列式某元素的余子式:行列式划去该元素所在的行与列的各元素,剩下的元素按原样排列,得到的新行列式.
行列式某元素的代数余子式:行列式某元素的余子式与该元素对应的正负符号的乘积.

即行列式可以按某一行或某一列展开成元素与其对应的代数余子式的乘积之和。

举一个3*3的例子

结果为 a1·b2·c3+b1·c2·a3+c1·a2·b3-a3·b2·c1-b3·c2·a1-c3·a2·b1(注意对角线就容易记住了)

这里一共是六项相加减,整理下可以这么记:

a1(b2·c3-b3·c2) - a2(b1·c3-b3·c1) + a3(b1·c2-b2·c1)=

a1(b2·c3-b3·c2) - b1(a2·c3 - a3·c2) + c1(a2·b3 - a3·b2)

此时可以记住为:

a1*(a1的余子式)-a2*(a2的余子式)+a3*(a3的余子式)=

a1*(a1的余子式)-b1*(b1的余子式)+c1*(c1的余子式)

某个数的余子式是指删去那个数所在的行和列后剩下的行列式。

行列式的每一项要求:不同行不同列的数字相乘

如选了a1则与其相乘的数只能在2,3行2,3列中找,(即在 b2 b3 c2c3中找)

而a1(b2·c3-b3·c2) - a2(b1c3-b3·c1) + a3(b1·c2-b2·c1)是用了行列式展开运算:即行列式等于它第一行的每一个数乘以它的余子式,或等于第一列的每一个数乘以它的余子式,然后按照 + - + - + -......的规律给每一项添加符之后再做求和计算。

举一个4*4的例子

3、行列式的意义

举个栗子~
用三维空间:(x,y,z)
三个点:
A(1,0,0)
B(0,2,0)
C(0,0,3)

行列式写为:
∣1 0 0∣
∣0 2 0∣ = 6
∣0 0 3∣

就是三个点构成的体积:长方体 1*2*3 = 6

--------------------------------------华丽的分割线------------------------------------------
现在令:B为B‘(0,2,2),C为C‘(3,0,3)
行列式写为:
∣1 0 0∣
∣0 2 2∣ = 6
∣3 0 3∣

三个点构成的长方体体积还是: 1*2*3 = 6

--------------------------------------华丽的分割线------------------------------------------
∣1 0 0∣
∣0 2 2∣ = 6
∣3 0 3∣

变成方程的形式:
1x + 0y + 0z = t1
0x + 2y + 2z = t2
3x + 0y + 3z = t2

每一条方程可以画一个平面
这里有三个平面,他们相交得到的空间体积等于6

参考

https://www.zhihu.com/question/26294660/answer/110251634
 

这篇关于行列式的计算(矩阵外面加个绝对值)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

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

uva 11178 计算集合模板题

题意: 求三角形行三个角三等分点射线交出的内三角形坐标。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <

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

hdu 4565 推倒公式+矩阵快速幂

题意 求下式的值: Sn=⌈ (a+b√)n⌉%m S_n = \lceil\ (a + \sqrt{b}) ^ n \rceil\% m 其中: 0<a,m<215 0< a, m < 2^{15} 0<b,n<231 0 < b, n < 2^{31} (a−1)2<b<a2 (a-1)^2< b < a^2 解析 令: An=(a+b√)n A_n = (a +

hdu 6198 dfs枚举找规律+矩阵乘法

number number number Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description We define a sequence  F : ⋅   F0=0,F1=1 ; ⋅   Fn=Fn

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础:WAV专题(6)——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道,通过FFprobe命令可以打印WAV音频文件每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts: 打印出来的“pts”实际是AVPacket结构体中的成员变量pts,是以AVStream->time_base为单位的显

计算数组的斜率,偏移,R2

模拟Excel中的R2的计算。         public bool fnCheckRear_R2(List<double[]> lRear, int iMinRear, int iMaxRear, ref double dR2)         {             bool bResult = true;             int n = 0;             dou

GPU 计算 CMPS224 2021 学习笔记 02

并行类型 (1)任务并行 (2)数据并行 CPU & GPU CPU和GPU拥有相互独立的内存空间,需要在两者之间相互传输数据。 (1)分配GPU内存 (2)将CPU上的数据复制到GPU上 (3)在GPU上对数据进行计算操作 (4)将计算结果从GPU复制到CPU上 (5)释放GPU内存 CUDA内存管理API (1)分配内存 cudaErro

Java - BigDecimal 计算分位(百分位)

日常开发中,如果使用数据库来直接查询一组数据的分位数,就比较简单,直接使用对应的函数就可以了,例如:         PERCENT_RANK() OVER(PARTITION BY 分组列名 ORDER BY 目标列名) AS 目标列名_分位数         如果是需要在代码逻辑部分进行分位数的计算,就需要我们自己写一个工具类来支持计算了 import static ja