我正在尝试用C编写一个函数,该函数返回2x2矩阵的特征值和特征向量(用程序查找特征值/向量)。我对特征值没有问题,它相当简单。但与特征向量的斗争,本质上是通过联立方程组来解决的。
如果我尝试一种方法,例如:通过代码求解联立方程这给了我一个平凡的解([0,0]),在特征向量的情况下,u=0和v=0。
例如。如果我的矩阵是MAT=[[3,2],[2,1]],即a=3,b=2,c=2和d=1,以及u=0和v=0,则上述链接中建议的方程y=(v-uc/a)/(d-bc/a)和x=(uc/a-bc/a*y)/c将等于解[0,0],即平凡解。
此外,这似乎提供了一个答案,但我无法生成一个与以下等式一致的示例:http://www.math.harvard.edu/archive/21b_fall_04/exhibits/2dmatrices/index.html
它似乎也没有涵盖所有情况,当b和c不等于零的情况如何?
对于2x2矩阵的情况,有一个简单的解析解。
您的职能部门应该实现此链接中提供的解决方案,包括三个子案例。您可能希望将特征向量归一化为酉模,作为最后的附加步骤。
一旦有了特征值,就很容易得到特征向量。
如果矩阵是对称的,我推荐一种迭代方法,比如Jacobi。