如何用另一种方式描述矩阵——特征值与特征向量
——是否可以将矩阵变换看作对某个状态的一步操作
接上文,我们提到了矩阵的逆,探讨了矩阵变换可看作是旋转和伸缩的组合,根据这个思路去寻找求矩阵逆的方式,最后也提到了一个问题:矩阵可以先伸缩再旋转,也可以先旋转再伸缩达到最终形态,是不是意味着矩阵有个共性的变换特征呢?这里我们参考矩阵乘法可交换条件文中提到的一个例子,假设矩阵的伸缩与旋转变换可以简单看作坐标值的倍乘与加数。如向量L:(1,0)经矩阵变换为坐标为:(2,1),可以将其看作是横坐标乘以2,再纵坐标加1,也可以看作是纵坐标加1,再横坐标乘以2。那么我能否将其看成是纵坐标加0.5后再与横坐标一起乘以2呢?用代数来表达就是 2a , b+1 = 2(a ,(b+1)/2)。 而是否存在向量(a,b)使得:2(a,(b+1)/2) = n(a,b)呢?即拉伸2倍后与原来是共线的呢?对于上面这个例子,(1,1)是满足的。但是要注意到,若是在Y轴上仅有伸缩变换,纵坐标为0的向量是无法体现的,当然这也是正交坐标系的某一个优势。
到此,我们不如先放下空间上的脑补,在矩阵乘法里我们已经探讨了矩阵乘法的物理意义的同时,也分析了代数表达式的几何反映,现在让我们再看一下矩阵乘法的代数表达式:C = AB,则:
A:,B: ,则C: 。
我们可以看出,对于向量 (x1,y1) 变换后的结果为:(x1x1' + y1x2', x1y1'+y1y2')。我们已经说过了其结果即为:以矩阵B的两个行向量的横、纵坐标权值和。于此同时我们可以类似上面思考的方式,将其试着用一个乘法运算表达:
(x1x1' + y1x2', x1y1'+y1y2')= ( x1* (x1' + y1x2'/x1) , y1* (x1y1'/y1 + y2') )。所以只需要求得向量(x1,y1)满足: (x1' + y1x2'/x1) = (x1y1'/y1 + y2'),即可求得与(x1,y1)共线的向量,且伸缩的大小就是:(x1' + y1x2'/x1) = (x1y1'/y1 + y2') 的长度。既然到了这一步,不妨就解出这个表达式的解吧:
移项:y1x2'/x1 = (x1y1'/y1 + y2') - x1'
通分:y1^2 = x1^2 * y1'/x2' + x1 * y1 * (y2'-x1')/x2'.
为了避免晃眼,将其他值改为系数: y^2 = a x^2 + b xy. ( a = y1'/x2', b = (y2'-x1')/x2')
二元二次方程:y^2 - bx y - a x^2 = 0.
很明显。x =0始终有解(维度相同时,零向量当然是可以的),将x当作常数,直接用判别式计算,可求出两个解分别为:
y = bx + (b^2 + 4a)^1/2 x
y = bx - (b^2 + 4a)^1/2 x.
这时我们可以看出,是有两个解的(判别式大于0:b^2 + 4a > 0),且b和a决定了斜率。
当 4a = - b^2 时,只有一个解,当 4a < -b^2时,无解。
——特征向量的的结构
我们利用工具尝试画出几个定量的方程图像:
b = 0, a != 0时,a决定了图像与X轴(Y轴)的夹角,动作上可以认为是以X轴为镜像对称的两条线为轴:
b != 0, a != 0时,可以认为是a决定了图像与X轴(Y轴)的夹角,b(与a)决定了旋转的角度,动作上可以认为是以X轴为镜像对称的两条线,绕原点旋转一定角度为轴:
a = 0, b != 0时,X轴本身就是其中的一条线,b决定了另一条线与斜率为1的直线的角度,动作上可以认为是以X轴为一个轴,以斜率1为初始点,绕原点旋转一定角度为另一个轴:
当 a < 0时,b逐渐变大时,直到4a = - b^2 时(只有一个解),两条线的夹角逐渐变小,并最终成为一条线。而当继续调大b值(或者减小a值),将无解(或者说只有0解)。
从上面的一些数据和图像中,其实我们已经可以看出端倪,一般情况下N维的矩阵应该最多就会有N个轴,但特殊情况会只有一个轴,以及没有轴。回头再去看看当初要求解的方程,可以看出其有二次型的影子(目前没有说到,权当一个联想,而且这也反映了有时候某些知识是相通的,或者某些知识的现实历史性,导致知识的场景与应用领域并非初衷,就好比矩阵刚开始是作为信息计算,解方程出现的,鸡你太美是作为歌曲出现的-囧)。
如果需要再详细点,再清楚点,那么几何上的操作与代数上的数据表达又是如何对应的呢?
下面我们再梳理一番慢慢探讨:
// TODO 下图作为行向量与列向量的思考
如何用另一种方式描述矩阵——特征值与特征向量相关推荐
- python numpy逆_Python使用numpy计算矩阵特征值、特征向量与逆矩阵
原标题:Python使用numpy计算矩阵特征值.特征向量与逆矩阵 Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv() ...
- Python使用numpy计算矩阵特征值、特征向量与逆矩阵
Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv()函数用来计算可逆矩阵的逆矩阵. >>> impor ...
- pythonnumpy库求特征向量_Python使用numpy计算矩阵特征值、特征向量与逆矩阵
Python扩展库numpy.linalg的eig()函数可以用来计算矩阵的特征值与特征向量,而numpy.linalg.inv()函数用来计算可逆矩阵的逆矩阵. >>> impor ...
- 2021-01-07 matlab数值分析 矩阵特征值与特征向量的计算 改进乘幂法 反幂法
matlab数值分析 矩阵特征值与特征向量的计算 1改进乘幂法 function [t,y]=eigIPower(A,v0,ep) [tv,ti]=max(abs(v0)); lam0=v0(ti) ...
- 矩阵特征值和特征向量详细计算过程(转载)
1.矩阵特征值和特征向量定义 A为n阶矩阵,若数λ和n维非0列向量x满足Ax=λx,那么数λ称为A的特征值,x称为A的对应于特征值λ的特征向量.式Ax=λx也可写成( A-λE)x=0,并且|λE-A ...
- 使用MTL库求解矩阵特征值和特征向量
关于矩阵的特征值和特征向量求解,大部分的数学运算库都进行了提供,下面是使用MTL库的接口进行封装. #include <mtl/matrix.h> #include <mtl/mtl ...
- 求矩阵特征值和特征向量
求矩阵特征值和特征向量的一个小程序 代码较长,如果不能执行,就是要建立结构体,大家试试吧,希望能用. // // 实对称三对角阵的全部特征值与特征向量的计算 // // 参数: // 1. doubl ...
- c语言求矩阵特征值的程序,如何用C语言编写求对称矩阵的特征值和特征向量的程序编写对称矩阵的特征值和特征向量,其中矩阵用二维数组保存.特征向量要求有大到小放到数组里....
优质解答 //数值计算程序-特征值和特征向量 // //约化对称矩阵为三对角对称矩阵 //利用Householder变换将n阶实对称矩阵约化为对称三对角矩阵 //a-长度为n*n的数组,存放n阶实对称 ...
- 机器学习中的数学基础:(1)实际应用中矩阵特征值与特征向量的几何意义
关于特征值.特征向量的讲解有很多的教程,对于这些枯燥的数学基础怎么运用到自己的实际计算机视觉实验中,是一项很重要的任务.算法的底层其实就是数学公式的各种结合与推导,有时间不是我们不能很好的去理解这些算 ...
最新文章
- pandas中的3种基本数据类型介绍
- 对面向接口编程、按分层建项目的反思和新的分层结构思路
- Quartz 实现分布式任务调度
- [caffe]深度学习之图像分类模型VGG解读
- tensorflow运行环境linux,在ubuntu或者min运行环境下安装gpu版本的tensorflow
- 【Python】青少年蓝桥杯_每日一题_10.27_日期差值的判断
- .NET开发框架(二)-框架功能简述
- 头条号个人中心登录_头条号平台上线「插入小程序」功能
- html语义化标签_5个你可能不知道的html5语义化标签
- 什么服务器有信号枪,绝地求生刺激战场8个必刷信号枪的时段地点
- 关于Revit API修改元素参数的问题?
- 医疗行业源代码数据防泄露安全解决方案
- 函数连续,区间连续,一致连续,绝对连续,Lipschitz连续
- 回溯法之旅行商问题解题思路详解
- locust工具学习笔记(五)-FastHttpUser类、关联、参数化、检查点、集合点
- oracle01004,Oraclegoldengate的OGG-01004OGG-1296错误
- 深度优先搜索/广度优先搜索
- mapStruct测试成功以及报错总结
- FPGA——用VGA时序显示图像原理详解(2)
- js监听按钮按下弹起