C语言中如何二乘四矩阵进行转置?

说明:本文本系列是个人心得,学习MIT Gilbert Strang的线性代数之后心得,其目的并非传播,而是本人记载体会。本系列同时旨在理解联系线性代数和实际空间的感性认知。 文笔之差,谢绝转载。

这一篇文章,和CLASS2的消元有重大的关系。

多个矩阵和逆矩阵相乘:

当有 一个以上的(>=2) 矩阵和两个相应逆矩阵需要互相在一边添加时,理解就是:比如穿鞋子和袜子的顺序,先穿时:先穿袜子再穿鞋子,要脱时:先脱鞋子再脱袜子。穿就是矩阵如,A;脱就是 逆矩阵,如 。也就是 , A是先穿袜子,B是后穿鞋子,B的逆是先脱鞋,A的逆后脱袜。

其实这个东西想象成空间的纵坐标向逆时针旋转30度,再旋转40度,那么返回,就应该是先倒着向顺时针方向先返回一个旋转40度,再返回一个旋转30度。

A=LU 分解(没有行交换的情况):

假设有一个可逆矩阵A,且消元过程中不需要行变换,通过高斯消元法,终将得到一个上三角矩阵U,需要关注的是A和U之间有什么联系。(这一句话摘自知乎的

具体可以看他们的笔记:(建议自己看视频再看笔记,这两份老头子来龙去脉的用意都没写太清楚)

这一份在概念和计算上写的比较详细

(对于笔记中出现上三角,下三角的概念和对角矩阵的概念,并非这节课要认识的,老头子只是随嘴说了一句。)

详细而通俗表述一下概念:

A=LU(没有行交换的情况作为前提很重要!

A=LU中,A代表原来的矩阵,L是 ...包含多个 E的逆 的消元组成的消元矩阵,U是结果,

我们之前在class2学习的“消元法”和单位矩阵的关系,就是我通俗表达的:几倍就在单位矩阵相应的某个位置填写上倍数,这就是一个E。

让我们看一下我们要围绕的东西:

因为这是 1、消元矩阵 2、多个消元矩阵相乘 (前提)

所以,我们已经知道EA=U,讨论A=E逆*U的目的是什么?目的是什么?

为什么要讨论A=E逆*U,求E逆不是还更麻烦吗?

否认这个更麻烦的说法,

让我们观察一下下面两个矩阵:

从中,我们发现这个新矩阵是填写上原来的-2和-5,

,并且还在第三行出现新的数字!新的数字!

我们再研究一下,如果!如果往右边求两逆矩阵乘积,得到了什么,

从中,我们发现这个新矩阵是填写上原来的2和5,并不存在还有出现新数字的情况。

前者出现新的数字,我们无法知道它的规律,

后者逆矩阵相乘,没有出现新的数字,我们在逆矩阵相乘中,只需要两矩阵原本的数字填进去就可以了,

也就是可以回答刚才的问题,和class4的教学目的了,

我们已经知道EA=U,讨论A=E逆*U的目的是什么?目的是什么?

目的就是:免除计算,一步到位出消元矩阵。

(备注:未必不能知道小型消元矩阵的规律,等下我会给出我自己研究出的class4的改良版,直接利用我的口诀得出结果)

还有一个问题没有讨论到:

怎么求消元矩阵的逆矩阵(也就是求E31之类的逆矩阵):

答:逆矩阵只要在原矩阵的基础上,不改变对角线上的3个1,在倍数上正的换成负的,负的换成正的,就可以了。

如果有朋友看到这里,以下一定要看下去!

学到这里,class4的“A 的 LU 分解”似乎已经结束了,至少Gilbert Strang的想法,我已经总结完了,但是,Gilbert Strang似乎 讲错了 一件事情 ,我不确定但又感觉很确定,所以我写下来,日后有朋友看到,望多留意思考:

这两部分他说目的是因为左边EE相乘的结果会出现新的消元乘数,意思就是:原来的消元乘数都添加上去,但还产生新的消元乘数,为了解决这个消元乘数:他教授了E逆*E逆,

而 E逆*E逆 的初衷就是想解决掉这个“新的消元乘数”这个累赘,

在他举的例子中,确实能解决了,

但我特别想告诉Gilbert Strang,出现新的消元乘数是因为在左乘的矩阵中倍数出现在第二列上,听清楚规律:只要“倍数”出现在左乘的矩阵中第二列,必然出现新的消元乘数!

而消元总共有6种可能:

在这6个矩阵中,只要左乘的矩阵是 ,即消元乘数出现在左边的矩阵的第二列上,那么和右边某某矩阵相乘一定是出现了新的消元乘数!

中,我的意思是直接乘,而不是再求其逆,因为求其逆,鞋子袜子的道理,如果E12在左边,E12的逆就出现在矩阵相乘的右边矩阵上了,那就可以避免第二列“撞上”左乘矩阵,

EEA=U,如果 是出现在右边的矩阵上,这时是不会出现新的消元乘数的,然而按照Gilbert Strang的想法是求它的逆的话,鞋子袜子的道理, 就会出现在左边的矩阵,那又出现新的消元乘数。

但,你有没有发现,我提出的一系列问题,正是提出了一个解决方法:

在接受这个方法前,如果是有其它人看我的文章,先摒除掉Gilbert Strang说的EEA=U一定要用 A=E逆 * E逆 * U这种作法。

我要讨论的是:什么时候从EEA=U需要变到A=E逆 * E逆 * U。

先定义:E和E逆都为 x

若 x 矩阵中的消元乘数出现在第二列,并且这个矩阵在左乘的矩阵中,

那么即出现新的消元乘数,

以上两种情况,到底是E变到E逆,还是E逆变到E,就要看具有“左乘且第二列”性质的矩阵 是出现在E还是E逆了,

这是理论上的情况,某些情况也许会出现E逆,

但通常出现的是E,那么需不需要让E变到E逆,就根据以上规律判断了,不需要的话,E还变成E逆的话,那简直是自找麻烦。

注意:以上讨论的EEA=U什么需要变到A=E逆 * E逆 * U,它最开始的前提条件就是“包围格式”,下面我讨论它的前提条件“包围格式”是什么。

我要说我的认识:“消元乘数存在规律”,这就是我研究的改良版,掌握这个规律,直接算出答案,

如果出现新的消元乘数,必然出现在E13这个位置,把E13称为“被包围点”

如果出现新的消元乘数,必然出现在E31这个位置,把E31称为“被包围点”

我把这种相乘格式称为:“包围格式”,

下面介绍我研究的“不包围格式”:

即两个消元乘数不在是“对角”关系,是同行或者是同列关系,这就是“不包围格式”,

1、包围格式中左边矩阵在列2出现消元乘数的话,结果出现新的消元乘数

2、新的消元乘数出现在“被包围点”,得数为两个数字直接相乘

3、如果列2是在右边矩阵,那么不出现新的消元乘数,矩阵结果只需要将原先各自的消元乘数填上去即可以。

1、不包围格式相乘,绝对没有新的消元乘数(即便是左乘矩阵的第二列出现消元乘数!)

矩阵结果只需要将原先各自的消元乘数填上去即可以。

所以我以上讨论的EEA=U什么需要变到A=E逆 * E逆 * U,它最开始的前提条件就是“包围格式“

另 讨论一个不得不面对的问题。。。。。。。

如果三个E相乘呢????

老头子的视频中的确是三个E相乘,但其中一个E是单位矩阵!

完全就是实际两个E在相乘的好吗。

如果是真的3个E,4个,5个,我们又怎么研究他们的规律???我的天,其实我已经研究出了一半了,但所花时间过多,不得不心里问了一句话:

计算机软件直接输入,直接求出,敢问Gilbert Strang你教授的EEA=U变到A=E逆 * E逆 U有什么意义???而且还有漏洞需要我补充。而且面对3E,4E,N个E,难道真的在草稿纸上写吗?意义何在?还有我们讨论都是基于n*n矩阵,如果是m*n?亦或者矩阵中出现0又怎么处理?

希望有同学能够解答我这个问题,告诉我,也许是我悟性差,没有明白大师的含义。

另外,补充一下我的想法:

3个E的消元乘数是有规律的,但规则有点多,很复杂,很难记,很没必要。希望大家不要研究它,我刚从这坑里爬出来。

所以class4的精华其实在下面。

讨论m*n矩阵消元成上三角所要花费的步骤是多少?即A到U要花费多少步?

而这个精华部分在于,我们讨论的花费的步骤正是“理论上的算法复杂度”。

如果求和式子中数字逐渐减少的话,消耗次数为 ,

如果求和式子中数字不减少的话,消耗次数为 ,

对 进行积分,可得到 .从1到n对 进行积分,结果得到

而方程等号右边的b的花费次数为 。

n即为n*n矩阵中的行、列。

但消耗次数(理论上的算法复杂度)无论是哪个,最后实际上的算法复杂度都是 。

m≦n时,一个 m×n 的(0,1) 矩阵P为置换矩阵的充要条件是P的每一行恰有一个 1,每一列恰有一个 1。

在矩阵论里,置换矩阵是一种系数只由0和1组成的方阵。置换矩阵的每一行和每一列都恰好有一个1,其余的系数都是0。

在线性代数中,每个n阶的置换矩阵都代表了一个对n个元素(n维空间的基)的置换。当一个矩阵乘上一个置换矩阵时,所得到的是原来矩阵的横行(置换矩阵在左)或纵列(置换矩阵在右)经过置换后得到的矩阵。

4阶有24个置换矩阵,

n 阶矩阵有 n!个置换矩阵。(置换矩阵个数就是n的阶乘。)

举例3阶的置换矩阵:(包含了单位矩阵)(三阶的空间 包含了3*2*1个置换矩阵)

对称阵的样子是:见上图... 分割线下,矩阵中圈圆圈的地方,数字一一对称。

要记住对称阵的两个重要的结论:

1、 一定是一个对称阵;

2、对称阵的转置等于本身,即:

更详细的对称阵定义和总结请一定要看本人的代数笔记:第19章

因为对称阵是线代2,即使从“二次型”章节左右,一个非常重要的性质,我们前期暂时还不需要掌握,但后面到了线代2会相当重要。(线代2本科很多大学的非数专专业一般没有涉及)

我在这个栏目上花的时间太多了,很多没有必要的研究,甚至没有必要进行的计算学习!

今后。我不再将这个栏目写给其它人看而是只写给我自己。

我不再去写感知,写联系实际本质的东西,我想到什么写什么,我要写什么写什么,学到什么心得什么写什么,不想写懒得写那就不总结,就是这样。

《4、消元疑惑、置换矩阵、对称阵》(完)

先给大家道个歉,有一周时间没有发文章,以及打理公众号了。

关于原因,家里出了点事。

已经处理完了,堂主也回归到日常发文了。

个人运营公众号就是这样,遇到突发意外情况,只能暂停。

心里愧疚的是,耽误了你们一些时间,尤其是今天的这篇文章。

堂主看了下5月的规划,按照规划线性代数你们应该还没有开始第三章向量的复习。

还好还好,堂主终于赶上末班车了。

废话不多说,直接上干货。

堂主之前的文章提到过,线性代数市面上的书籍以及课程存在一个问题

要么注重概念讲解,要么注重题目的综合性

如何让二者更好的接合在一起呢?这篇文章是堂主说的重点。

下面都是纯干货,红色部分是考研中怎么考试?我们需要掌握到哪种程度?

1、行列式本质——就是一个数

2、行列式概念、逆序数

考研:小题,无法联系其他知识点,当场解决。

①学习逆序数是为了解决行列式概念,其余没用

②行列式概念一共有两个维度,一个维度只有张宇讲解了,行列式求的是体积。

另一个维度,即课本上的,行列式是不同行不同列元素乘积的代数和。(共n!项)

②行列式概念,下面这道题极有代表性!

此行列式中,x的3次方的系数为:

3、二阶、三阶行列式具体性计算

考研:不会单独出题,常常结合伴随矩阵、可逆矩阵考察。

4、余子式和代数余子式

考研:代数余子式的正负是一个易错点,了解代数余子式才能学习行列式展开定理。

考研:核心知识点,必考!

考研:核心知识点,必考!小题为主。但是他一定会和矩阵一起考。

注意一点,区分行列式性质与矩阵性质。

7、行列式计算的几个题型

①、划三角(正三角、倒三角)

②、各项均加到第一列(行)

这样做的目的,在行/列消出一个0,方便运用行列式展开定理。

考研:经常运用在找特征值中,特征值必出题,还喜欢出大题!

堂主认为,这道题才是行列式最应该掌握的题目。

考研:这9个小知识点,除⑤外,只涉及第一章第二章的考点。

如果出大题,最多是一道大题的第一问!绝不可能单独命题!

8、抽象型行列式(矩阵行列式)

(这部分内容放在第二章,但属于第一章的内容)

考研:出小题概率非常大,抽象性行列式与行列式性质结合考察

【关于行列式的补充网课】

1、堂主建议听两部分,第一部分张宇基础班讲行列式定义;第二部分张宇讲行列式的性质。

2、推荐原因,张宇是从空间几何角度讲解行列式的,了解空间几何,有助于记忆行列式的性质。

比如,为什么行列式某一行(列)元素全为0,则行列式等于0?

是因为行列式的本质是以n个向量为邻边的n维图形的n维体积。

3、数学归纳法本是高中知识,如果不会也可以去听听张宇讲解的数学归纳法。

1、克拉默法则不是本章应该学习的内容,应该和向量、方程组放在一起学习。

2、行列式在线性代数的应用总结

⑶、线性相关(无关)判定

方法一:Ax=0有非零解

方法四:0是A的特征值

4、有没有发现,堂主总结的内容,真正能在第一章运用的并不多。

这就是堂主所说的,线性代数各个章节关联性强!

本章的总结,现抄到笔记本上,都学完了回过头再看,别有一番“风味”。

⑴、与伴随矩阵、可逆矩阵、初等矩阵结合考察。

⑵、与第一章的行列式混在一起考察。

2、数字型n阶矩阵运算

②方法二:含对角线上下三角为0的矩阵

③方法三:利用二项式定理,拆写成E+B型

④方法四:利用分块矩阵

考研:大题出现,是大题的第一问!看到数字型n阶矩阵运算,一定出自这5个方法。

(如果本题不会做,你的问题出在只掌握这五种方法的某几种,失败在归纳总结上了)

方法五涉及相似对角化知识。

其余的不举例子,唯独方法五我要给你们一道例题,这是要出大题的!

考研:伴随矩阵常与其他知识考察,与行列式、转置、K倍、可逆、伴随的伴随结合考察。

4、二阶矩阵的伴随矩阵

法则:主对角线互换、副对角线填负号。

考研:如果让求某个二阶矩阵的可逆矩阵,难点转化成如何计算它的伴随矩阵。

应用1:利用其伴随矩阵,快速计算出可逆矩阵

应用2:利用分块矩阵求逆,但是每个小分块又是二阶矩阵。

此时,小分块的伴随可快速写出,从而大矩阵的伴随矩阵也能快速写出。

我忘了李永乐有没有讲,但是此处一定要背会。

如果命题人的重点是想让你求个可逆矩阵,一般是3阶。

如果命题人认为这道题可逆矩阵不是重点,一般是2阶,知道此方法,可以很快写出伴随矩阵

第二种:利用初等行变换

考研:可逆矩阵可与行列式、转置、K倍、伴随矩阵、可逆的可逆结合考察。

考研:小题出现,以及第三章等价向量组需要用初等矩阵的相关知识。

8、正交矩阵、对称矩阵、反对称矩阵

考研:第二章先知道张什么模样,这部分内容在二次型、相似对角化考察。

考研:堂主把秩比作答题的第二种方法,在解决向量、方程组等相关知识点,可以用传统方法(解题速度慢),也可用秩,解题速度是传统方法的5倍!但是运用有难度。

【关于矩阵的补充网课】

1、堂主给你们的李永乐强化班矩阵讲解顺序是:

⑺正交矩阵、对称矩阵、反对称矩阵

先从矩阵的运算开始听课,最后再听矩阵的秩。

2、补充视频听汤家凤基础班讲解矩阵的秩的部分

推荐原因1:老汤是从秩的另外一个角度讲解的,即是秩是方程组约束条件的个数,从这个角度更有助于你们理解秩。

推荐原因2:秩的性质很重要,建议再听一遍老汤的课程加强记忆。

1、李永乐第二章覆盖的题型已经非常全了。

2、矩阵的秩,本章要求只记忆性质,公式,正式的运用是在向量和方程组。

1、几组定义(向量内积、向量的长度、单位化、正交)

考研:考单位化,单位化主要在二次型需要应用。

2、线性相关、无关的三大判别方法

⑵、向量个数>维度,必相关

考研:小题出现,很少结合其他章节知识点。

【1】三大判别法是按照m和n的关系分类的,设m个n维向量

①当m=n时,即向量个数=维度,用行列式求

②当m>n时,即向量个数>维度,必相关

③当m<n时,即向量个数<维度,用秩

【2】②以前是张宇讲的,但是今年张宇基础课程没有讲,给你们以前的笔记内容。

从向量角度,几维=某个向量里面有几个数

从空间角度,几维=几维空间(二维平面,三位立体)

如果无关,要保证每一个向量占据一个维度的空间,且这个空间只能有它这一个向量。

当向量个数多余维度,必然有一个或几个向量要和某个独占一个维度的向量去共享这个维度。

3、线性相关无关证明题三种思路

考研:大题考点,这部分内容可以与线性方程组结合,也可以与特征值特征向量结合,也可以与秩结合。至于如何结合,怎么结合,请自己归纳总结。

⑴、特征值不同,特征向量线性相关

⑵、特征向量ai≠0(定义就这么说)

⑶、Aa=λa a为特征向量

但是!最终的解题方法是利用定义法。线代考研就是这么考的!综合性强!

证明线性无关利用秩,此处也要详细唠叨唠叨

一共6种方法,请收好。

4、线性表出四大判别方法

考研:可小题、可大题,通常是大题的某一问。

6、线性表出计算题三大思路

⑵、构建方程组,抓0思想

⑶、与向量组结合考等价。

考研:大题考点!堂主分析下为什么喜欢考大题?

②涉及矩阵初等行变换知识。

涉及重要的数学思想:分类讨论!!!

7、线性表出证明题四个理论

考研:大题小题都有,但是近几年小题居多。

各位一定要从空间几何的角度理解线性表出。

考研:核心考点内容和2、3知识点一样,换汤不换药

考研:小题居多,很少与其它章节知识点结合。

【关于向量的补充网课】

之所以推荐李永乐,是因为李永乐向量、方程组讲的是最好的,而线性代数的难点,也是这里。所以此处不推荐补充视频。

1、本章是最难的是,任何章节的知识点都能和他组合在一起。

比如线性相关无关,线性方程组结合,也可以与特征值特征向量结合,也可以与秩结合。

所以,我对你们的要求,等所有学完后,一定要回过头来重新学一遍第三章向量!

(不懂就背下来,我当时考研到10月份才茅塞顿开。)

2、齐次线性方程组与非齐次线性方程组

(这部分内容最难在于化简,矩阵基础要牢固!!)

⑷、通过矩阵运算,构造方程组再求解

考研:大题核心考点,历年考题向量和方程组会出其中一道,而方程组的出题概率高于向量!原因如下

②、能与矩阵相关知识联系结合。

3、公共解、同解两种题型

本章节,已经侧重应用了,也不难

1、特征值相关概念与计算

考研:必考题,这里面难点不在于特征值相关知识,而在于求解行列式相关知识。

⑴、上三角矩阵、下三角矩阵。

⑶、某个矩阵拆分后,利用⑴和⑵结合。

3、相似矩阵概念及性质

考研:不会单独出,但一定会结合其他题目

考研:这部分内容是内容5的基础,但是如果单独出考题,不太可能。

5、对角矩阵的相似问题

核心内容:“搭桥”桥是Λ。

本内容需要分类讨论、需要基础解系相关知识、又可以联系特征值、特征向量,性质方面也可全面考察。

7、实对称矩阵以及正交矩阵

考研:也是重要考点,大部分知识和前面一样,唯一不同之处在于多一个史密斯正交化。

1、我认为本章需要注意的只有两点

⑴求特征值λ,主要用行列式求,此处有时候不会求行列式。

⑵与前面的章节知识点衔接的不够好。

2、没有推荐网课,李永乐足够。

内容和微分方程有异曲同工之妙,记忆的内容比较多,但比较简单。

考研:出小题,比如填写一个负惯性指数。

2、矩阵的等价、相似、合同

考研:出小题,一定不可能出大题的。

3、化二次型为标准型、正定问题

考研:核心重点考点,内容本身没什么难度,只是把前面所有的知识综合起来。

这里不用细说,如果前面的相关内容复习的非常好,这部分内容学习起来会轻松很多。

1、本章80%必出大题,可是,本章的大题大部分的知识点全部来自于前面的章节。

此处的大题不会,不能代表本章不会,只能说明前面没学好。

1、每个知识点如何考,80%堂主已经标注清楚了。

唯一的遗憾,每个知识点没有举几道例题。

现在的你们,看完这篇文章,一定是云里雾里的感觉。

所以,堂主提出下面的要求

【要求1】截屏或者抄到笔记本上。

【要求2】每复习一章,翻翻这篇文章,看看前面的内容有没有和本章节结合在一起。

比如:复习完第二章矩阵,看看堂主的这篇文章,第一章有什么内容和第二章结合在一起的?

行列式和矩阵最重要的结合部分,即行列式和矩阵的性质容易弄混。

【要求3】全部复习完,从头开始总结

第一章行列式和矩阵有什么关系?

答:行列式和矩阵的性质容易弄混

行列式和秩有什么关系?

答:行列式不为0,矩阵满秩

行列式和向量有什么关系?

答:行列式等于0,线性相关;β与若干α组成的行列式等于0,则β能由若干个α线性表示等等

行列式与线性方程组的关系?

一定要这样做!线性代数才能学“活”!

2、关于李永乐《线性代数辅导讲义》这本书

堂主可以保证,上面的题全部吃透,线性代数基本没问题了。

此处和高数的说法完全不同

高数部分,堂主是这样说的,一定要经过大量的练习,没有大量练习高数是不行的。

原因1:线性代数的特点所致,题型固定,出题花样较少,都是老套路。

原因2:李永乐这本书大部分都是历年真题,只不过把历年真题按题型分类了。

原因3:自己做过,吃透这本书,稍微做做真题练习,线性代数不是问题。

3、关于李永乐强化班的网课

一定会遇见听课吃力的现象。

为什么听课吃力,堂主也说了。

张宇或者汤家凤的课程,题型、知识点涵盖的并不全。

所以你才会感觉他们的课能听懂,

做几道真题,立马凉凉了。

4、对于基础特别薄弱的!

堂主推荐你听完李永乐的基础班,再听强化班课程。

肯定要耽误半个月的复习时间。

没办法,线性代数的特点就是这样!

一遍听不懂,听第二遍,第三遍慢慢就懂了。

但是千万不要选择下面的听课方法:

先听第一章的基础班,再听第一章的强化班。

有一位“研友”把堂主推荐的网课资源上传到B站了。

他对你们只有三点要求

1、不点赞!不收藏!不投币!

3、有问题去交流群反馈

【获取B站UP主方式】

点击文章底部左下角的 “阅读全文”。

考研学堂,考研人交流的平台

numpy库常用基本操作

numpy常用操作,创建n维数组有array和arange方法,索引操作就是一般数组的索引操作,比如n[1][1],线性代数的一些操作也非常简单,比如矩阵乘法@符号

二、numpy库常用基本操作

  NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推。在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量。比如说,二维数组相当于是一个一维数组,而这个一维数组中每个元素又是一个一维数组。所以这个一维数组就是NumPy中的轴(axes),而轴的数量——秩,就是数组的维数。

;有各种前端、后端、算法、大数据、人工智能等课程。

我要回帖

更多关于 c语言输出转置矩阵 的文章

 

随机推荐