我正在尝试用java创建一个应用程序,它可以进行一些矩阵修改,比如计算invereses和行列式。现在,我还想为应用程序提供计算矩阵的特征值和特征向量的选项。据我所知,计算特征值的唯一"可靠"方法是使用以下给出的特征公式:
det(A-λI) = 0
其中A是nxn矩阵,λ是实数。据我所知,在Java中使用代数没有简单的方法,也许根本没有。此外,我想自己编程,所以我不想使用像Jama
或其他外部包。
有人能解释我如何用Java编程这个方程吗?或者告诉我另一种方法吗?
一种方法是查看Jama,看看它是如何在其中计算的,并解释它。不要只是复制和粘贴:P我们都知道这可能是谁的诱惑。
查找特征值和特征向量有点棘手,而且有许多算法的正负值各不相同。我会提出一些非常好的建议,而且实施起来并不那么困难。
首先,计算特征多项式,然后使用找到根。那么你就有了特征值。然后你可以求解一组方程,在给定特征值的情况下找到特征向量。