编程&数学:对称矩阵。
今天来学习一个概念叫对称矩阵。什么是对称矩阵?简单来说就是一个矩阵,它转置以后依然等于它本身,就可以说这个矩阵是一个对称矩阵。最常见的对称矩阵,比如1001就是一个对称矩阵,因为它转置以后依然也是1001。
来看代码,声明这样一个矩阵,123245和356,怎么样去通过肉眼视觉上的判断来得知它是否是一个对称矩阵?可以这样去看,像这样画一条主对称轴,然后看对称轴两边的数据,倾斜的看,清晰的看,这条是不是22,22这条呢?三三,这条呢?五五,它沿着主对称轴两边的数据都是一个对称的,所以这个矩阵可以从视觉上看就是一个对称矩阵。
当然也可以写个函数来判断,通过numpy里面这个函数Arry equal,它可以去判断两个矩阵是否相等,就传入原矩阵和原矩阵转置之后的矩阵。来看一下,它说矩阵是对称的,那一个对称的矩阵有什么性质?来看一下,这个矩阵如果是对称的,来看看它的特征值和特征向量,这是它的特征值,下面是它的特征向量。
看下前面的课程,前面有节课讲过正交基,正交向量,之前是怎么判断两个向量是否正交的?通过点乘看结果是否等于0。这里就把之前的代码给拷贝一下,把它贴过来,这里是特征向量,来看一下,这个模长就不求了,去遍历特征向量,然后就计算特征向量,它们两两进行点乘,它们的结果看是不是等于0。
看见没有,这一组特征向量,它们之间两两进行点乘运算,结果都等于0,说明什么?说明一个对称矩阵里面的特征向量都是相互正交的。