广义特征值问题
广义特征值问题相较于一般特征值问题的区别和全新认识
起因
在振动力学课程上,老师向我们讲解多自由度振动系统求解方程时,我学习了通过使用解特征值获得方程的解。不过这里的特征值并不是我线性代数中所学的那种一般的特征值问题,而是属于广义的特征值问题,解的是下面这样的矩阵方程
\[\textbf{Ax}=\lambda\textbf{Bx}\]这里的特征值$\lambda$和特征向量$\textbf x$就是对应于这个问题的答案。实际上我们也可以将其变换为普通的特征值问题来求解,也就是变成如下形式
\[\textbf B^{-1}\textbf {Ax}=\lambda\textbf x\]也就是求解矩阵$\textbf C=\textbf B^{-1}\textbf A$的特征值和特征向量,而这我们是很容易做到的。不过老师为我们讲解的是另一种方法,也就是直接求解
\[(\textbf A-\lambda\textbf B)\textbf x=0\]然后一样的求行列式等于$0$,解出特征值和特征向量,最终解决我们的问题。
但是紧接着我的疑惑出现了,因为老师给我们推导了特征向量满足的关系,那就是(振动力学中$\textbf A$和$\textbf B$都是对称的)
\[\begin{cases} \textbf x_i^T \textbf A\textbf x_j=0\\ \textbf x_i^T \textbf B\textbf x_j=0 \end{cases}\]我就很疑惑,为什么不是
\[\textbf x_i^T\textbf x_j=0\]毕竟我们线性代数中学的就是这样的,更何况我们还可以用求$\textbf C$的特征向量的方法来计算,凭什么不正交。后面老师甚至专门强调了中间必须要加权正交,绝对不能不写$\textbf{A}$和$\textbf B$,这就让我更疑惑了,想了好长时间问了老师为什么,老师说是广义特征值问题,说后面会给我们,不过我等不及了,回来搜了一下就完全明白了。
原因
就搜了一篇文章,再AI问了一下,我就知道哪里有问题了,尽管我们确实是可以用下面这个方法求解特征值,但是这并不意味着特征向量正交
\[\textbf {Cx}=\lambda\textbf x\]最重要的原因是,$\textbf C=\textbf B^{-1}\textbf A$不对称! 所以它解出来的特征向量也根本不一定正交!这自然就说明了为什么$\textbf x$不正交,而文章中的做法也就是为了避免这种情况,所以将$\textbf B$做了分解才开始移项,也就是先(不过这里实际上要求$\textbf B$是一个对称且正定的矩阵才能分解,而文章中却未提到)
\[\textbf B=\textbf G^T\textbf G\]再带入原方程进行移项,保证方程左边是对称矩阵,结果中特征值向量也会从$\textbf x$变成了$\mathbf {Gx}$,而不再是原来的特征向量,特征向量正交也自然是说$\textbf {Gx}$间是正交的,反映到$\textbf x$上,自然就是带权重正交。
理解了这个问题,我也自然理解了为什么施密特正交化的时候也要带权重求向量积,而不是简简单单地不带权重直接分解。