【矩阵与行列式】矩阵和行列式学习笔记

开始从ToDoList里挑东西来杀.

感觉矩阵和行列式这两个跟很多东西都有关而且接触最少

所以先从它们开始补>w<

P.S.看了很多资料,他们对矩阵和行列式这些东西的介绍都很丧病…我会尽量用通俗的语言来写我的笔记= =如果您不喜欢这种风格QAQ那我也没办法了请隔壁看别人的吧

—————————线割分是我>w<——————————————–

什么是矩阵?

矩阵是n*m个数在n*m这个二维区域内的一个排列,是一个横纵排列的二维数字表格.

也就是说,矩阵只是一些数的一种存储形式.

通常我们使用大括号或者中括号来表示一个矩阵.

我们将矩阵中横向的元素组称为行,纵向的称为列.(P.s.Wikipedia上说这仅仅是中国大陆的叫法)

特殊的,当一个矩阵的n或者m为1时,他变成了一个向量.

通常情况下我们说的向量都是矩阵的一个列向量(即某一列上所有数的排列),那要怎么得到行向量呢?

一个矩阵转置之后的第i列的列向量就是他之前的第i行的行向量

那什么是矩阵的转置呢?

矩阵的转置和置换:

有矩阵A,将A行上元素和列上元素交换得到新的矩阵,这个新的矩阵就是矩阵A的转置,记为AT.

例如:

A=[142536]

它的转置是:

AT=???123456???

然而矩阵除了转置之外还有一个叫做置换的东西0-0

什么是一个矩阵的置换呢?

首先来了解一下什么叫单位矩阵.

某个n*n的矩阵的一条对角线(左上到右下的那一条,也叫主对角线)上元素全部为1,其他元素全部为0,则这个矩阵是个n阶单位矩阵.

交换一个n阶单位矩阵E的几行或几列得到的新的矩阵,称为一个n阶置换矩阵.

其实置换矩阵好像并没有什么太大的用…稍微提一下只是为了区分它和转置矩阵.

如果一个矩阵的左下角的所有元素都是0(不含主对角线),即对于任意i>j,ai,j=0那么这个矩阵就是个上三角矩阵.特殊的,如果主对角线上的矩阵都是1,那么这个矩阵是个单位上三角矩阵.

跟他相反的就是下三角矩阵单位下三角矩阵,我不介绍了= =

如果一个矩阵的每行每列都只有一个元素是1,其他都是0(不带对角线的n皇后那样的排列),那么称这个矩阵是个排列矩阵.

对称矩阵:A=AT的矩阵A是对称矩阵.

矩阵的基础运算:

矩阵的加法:

有矩阵A和矩阵B,二者都是n*m的矩阵,则他们的和矩阵C里每一个元素Ci,j=Ai,j+Bi,j

全0矩阵是矩阵加法的单位元.

矩阵的减法:

类比加法,C=A?B,Ci,j=Ai,j?Bi,j

矩阵的倍数:

和向量的数乘运算类似,对B=λA,他的每一个元素Bi,j=λ?Ai,j

矩阵的乘法:

矩阵乘法的要求不再是两个矩阵大小相等,他要求相乘的矩阵A和B,假设A的列数为n,则B的行数必定为n.也就是A的转置矩阵大小一定可以容纳下B矩阵或者被B矩阵容纳.官方的说法是这两个矩阵相容.

若一个矩阵A为m*n的矩阵,B为n*p的矩阵,C为他们的乘积,则

Ci,j=∑k=1nAi,k?Bk,j

矩阵乘有一些性质:

①一个矩阵和全0矩阵的乘积是全0矩阵

②结合律:A(BC)=(AB)C

③分配律:C(A+B)=CA+CB

④单位矩阵是矩阵乘法的单位元

并没有交换律…这个你随便试试就出反例了…

好了你已经扯了千字的矩阵,可是我要看行列式.你的行列式在哪里?

QAQ不要急啊矩阵内容比较多马上就是行列式了>_<

行列式

一个矩阵A的行列式记作det(A),或者|A|.

注意:行列式只能对一个n*n的方阵而言,其他矩阵是无法构成行列式的!!!

他们的区别在哪里?

区别:行列式是一个数值,而矩阵是一个特殊的数字排列.

行列式要怎么计算呢?(偷个懒用下维基的图QAQ)

好麻烦啊…每次还得找对应位置…而且规律好复杂…

不怕不怕,看看这个↓:

每条红线上的元素的乘积之和,减去蓝线上元素乘积之和就是行列式的值.

是不是感觉清楚多了>U<

行列式的运算也有几个性质:

①det(AT)=det(A)(毕竟是n*n方阵)

②矩阵的任意两行或两列如果交换,行列式的值要变号

③如果矩阵某两行或两列相同,行列式的值等于0

④行列式的某行或某列有一个公因子k,则A=kA1,A_1为对该行或该列提出k之后剩下的那个行列式

⑤矩阵某行或某列的元素全部为0,行列式的值为0

⑥矩阵有两行或两列中每个元素对应成比例,行列式的值为0

⑦…

其实性质很多很多…在实践过程中自行脑补吧!> A <

另外对行列式有一个非常重要的公式叫Binet-Cauchy公式(比内-柯西公式)

假设矩阵A和B分别是n*m和m*n的矩阵,则

det(AB)=???????????0,                                                                                            n>mdet(A)?det(B),                                                                      n=m∑1≤j1<?<jn≤qA(1j12j2??pjp)B(j11j22??jpp),n<m

(似乎排版有点问题如果上述公式浏览不正常。。。您自己脑补一下正常的样子吧QAQ)

你问怎么来的?

这里有一个关于矩阵k阶子式的定义在前面:

其实我并不太懂他里面蕴含的道理。。。我就当他是个普普通通的定义好了= =

扯了这么多你还是没讲怎么计算一个行列式的值啊魂淡(╯‵□′)╯︵┻━┻

不要急=- =我们马上就说

一点点来。。。

在行列式中,某一行(列)的每个元素是两个数的和,则此行列式可拆分为两个相加的行列式,如:

∣∣∣∣∣∣∣∣∣∣a1,1?aj?1,1aj,1+bj,1?an,1? ?? ?a1,n?aj?1,naj,n+bj,n?an,n∣∣∣∣∣∣∣∣∣∣

那么可以化成

=∣∣∣∣∣∣∣∣∣∣a1,1?aj?1,1aj,1?an,1? ?? ?a1,n?aj?1,naj,n?an,n∣∣∣∣∣∣∣∣∣∣+∣∣∣∣∣∣∣∣∣∣a1,1?aj?1,1bj,1?an,1? ?? ?a1,n?aj?1,nbj,n?an,n∣∣∣∣∣∣∣∣∣∣

如果对于矩阵,这个当然是错的。。。但是行列式的话就非常正确= -=

也可以用这条性质推出来:

将行列式的任意行(或一列)乘以实数k,再相应地加到另一行(或另一列)上去,则行列式的值不变。如:

有了这些可以比较直接的推出一个结论:

记作*式

(这个还是比较显然的)

于是我们可以正式开始探讨要如何求行列式的值了

已有行列式

det(B)=∣∣∣∣∣b1,1?bn,1? ?b1,n?bn,1∣∣∣∣∣

先用高斯消元或者LU分解法把B化成一个上三角矩阵B’,同时记录一下行的交换次数S。大家应该都会吧。。到这里复杂度是O(n3)

在接下来就有(因为我实在太懒啦不想写LaTEX了。。。所以直接从周冬论文里拷几张图下来QAQ):

(?1)s怎么来的?见性质②

然后利用*式的结论就有

这样就得到了O(n3)的算法。比什么暴力代数余子式好多啦!>w<

当然还可以用分治之类的黑科技达到接近于O(n2)的效果。。。

————线割分是我>w<—————————————————————-

到这里矩阵和行列式的基本知识补的差不多了QUQ

虽然矩阵的秩什么的还没有好好看。。。

但是已经足够深入学一些东西了。。

不足的以后再学嘛~

时间: 2024-12-11 12:55:26

【矩阵与行列式】矩阵和行列式学习笔记的相关文章

3D数学--学习笔记(六):我对矩阵的一些简单理解总结

1.矩阵的行列式: 任意矩阵中都存在一个标量,称作矩阵的行列式,这里该值记为A. 2D中,A等于以基向量为两边的平行四边形的有符号面积.有符号面积是指如果平行四边形相对于原来的方位"翻转",那么面积为负. 3D中,A等于以变换后的基向量为三边的平行六面体的有符号体积.3D中,如果变换使得平行六面体"由里向外"翻转,则行列式变负. A的大小和矩阵变换导致的尺寸改变有关.IAI和面积(2D).体积(3D)的改变相关. A的符号则说明了变换矩阵是否包含镜像. A还能对矩阵

矩阵树定理(Matrix Tree)学习笔记

如果不谈证明,稍微有点线代基础的人都可以在两分钟内学完所有相关内容.. 行列式随便找本线代书看一下基本性质就好了. 学习资源: https://www.cnblogs.com/candy99/p/6420935.html http://blog.csdn.net/Marco_L_T/article/details/72888138 首先是行列式对几个性质(基本上都是用数学归纳法证): 1.交换两行(列),行列式取相反数 2.由1.得若存在两行(列)完全相同则行列式为0 3.上(下)三角行列式即主

算法学习笔记 递归之 快速幂、斐波那契矩阵加速

递归的定义 原文地址为:http://blog.csdn.net/thisinnocence 递归和迭代是编程中最为常用的基本技巧,而且递归常常比迭代更为简洁和强大.它的定义就是:直接或间接调用自身.经典问题有:幂运算.阶乘.组合数.斐波那契数列.汉诺塔等.其算法思想: 原问题可分解子问题(必要条件): 原与分解后的子问题相似(递归方程): 分解次数有限(子问题有穷): 最终问题可直接解决(递归边界): 对于递归的应用与优化,直接递归时要预估时空复杂度,以免出现用时过长或者栈溢出.优化递归就是以

【Stage3D学习笔记续】真正的3D世界(一):透视矩阵

如果各位看官跟着我的学习笔记一路看过来的话,一定会吐槽我的,这都是什么3D啊?从头到尾整个都是在使用GPU绘制一堆2D图像而已,的确,之前我们一直使用正交矩阵利用GPU加速来实现2D世界的展示,算不上真3D,但是正是由于有了之前的学习我们实现真3D世界的学习才会更加轻松,下面的笔记就让我们真正的进入3D世界吧! 补充一下,我们的这部分学习笔记是基于<Adobe Flash 11 Stage3D(Molehill) 游戏编程初学者指南>一书的学习而来的. 赶快进入我们的主题,是否还记得之前的2D

【几何系列】矩阵(二):行列式和特征向量、特征值

本文接着上一篇<几何系列]矩阵(一):矩阵乘法和逆矩阵>继续介绍矩阵. 转置 矩阵的转置比较简单,就是行和列互相调换,可以用上标 $T$ 表示某个矩阵的转置. $$A^T=(b_{ij})$$ 其中 $b_{ij}=a_{ji}$. 例如,对于: $$A=\begin{bmatrix}1 & 2 & 3\\ 4 & 5 & 6\end{bmatrix}$$ 它的转置为: $$A^T=\begin{bmatrix}1 & 4\\ 2 & 5\\ 3

学习笔记:矩阵的基本运算的实现

2017-09-05 21:33:33 writer:pprp 昨天开始就上课了,没有整天整天的时间去编代码了,充分抓住每天晚上的时间吧, 今天下午预习了一下线性代数中矩阵最基本的运算,今晚就打算实现一下基本的功能 矩阵加法,矩阵减法,矩阵乘法,矩阵转置 代码如下: /* @theme:矩阵类的实现 @writer:pprp @begin:20:48 @end:21:30 @declare:注意行还有列的赋值 @date:2017/9/5 */ #include <bits/stdc++.h>

[傅里叶变换及其应用学习笔记] 二十一. 离散傅里叶变换的矩阵定义,一些性质

DFT在零点 $\underline{\mathcal{F}}\underline{f}(0) = \displaystyle{ \sum_{n=0}^{N-1}\underline{f}[n]e^{-2\pi i\frac{n0}{N}} = \sum_{n=0}^{N-1}\underline{f}[n] }$ 还记得傅里叶变换在零点处也有类似的式子 $\mathcal{F}f(0) = \displaystyle{ \int_{-\infty}^{\infty}f(t)e^{-2\pi i

SharpGL学习笔记(八) 矩阵堆栈和变换的综合例子: 机器人

我们先引入关于"矩阵堆栈"的官方说法: OpenGL的矩阵堆栈指的就是内存中专门用来存放矩阵数据的某块特殊区域.实际上,在创建.装入.相乘模型变换和投影变换矩阵时,都已用到堆栈操作.一般说来,矩阵堆栈常用于构造具有继承性的模型,即由一些简单目标构成的复杂模型.例如,一辆自行车就是由两个轮子.一个三角架及其它一些零部件构成的.它的继承性表现在当自行车往前走时,首先是前轮旋转,然后整个车身向前平移,接着是后轮旋转,然后整个车身向前平移,如此进行下去,这样自行车就往前走了.矩阵堆栈对复杂模型

学习笔记:矩阵

今天讲了矩阵……就总结一下好了 http://blog.csdn.net/tomorrowtodie/article/details/52311373 http://www.matrix67.com/blog/archives/276 矩阵经典例题 很多内容来自学姐课件 矩阵 啥是矩阵?这个很好懂吧? (不懂我也没办法) 大体就长这样 矩阵乘法 蛤?两个矩阵怎么做乘法?并不是所有矩阵都能做乘法的. 只有n行p列的矩阵和p行m列的矩阵才可以相乘. 相乘完就是一个n*m的矩阵喽. 就这样子.左边的每