简单来说,特征向量指出了矩阵变换的主要方向,特征值则量化了沿这些方向的缩放程度。它们在物理学、工程学、计算机科学等领域有广泛应用,如振动分析、图像处理、数据降维等。特征值(Eigenvalue)和特征向量(Eigenvector)是线性代数中的重要概念。对于一个给定的方阵A,它的特征向量是指一个非零向量v,当A乘以v时,得到的新向量与v共线(即方向相同或相反)。而特征值λ则是描述特征向量v在变换中被缩放的比例。
以下方法提供了一种结构化的方法,通过求解其特征多项式(形式为 $c(t)=t^3 + e t^2 + f t + g$ 的三次方程)来计算矩阵的特征值。 主要步骤包括:
变换多项式为降次三次方程,使用以下替换:
$$ cˉ(s)= s^3 + p s + q $$
$$ t = s - \frac{e}{3}, \quad p = f - \frac{e^2}{3}, \quad q = g - \frac{e f}{3} + \frac{2 e^3}{27} $$
定义 $h$ 以确定根的性质:
当存在三个实解时,用三角函数计算根:
$$ \theta = \operatorname{acos} \left( -q / \left( 2 \sqrt{-p^3 / 27} \right) \right) / 3 $$
然后使用 $cosθ$ 和 $sinθ$ 计算 $s_0,s_1,s_2$。
通过加上 $e/3$,最终转换回原始变量 t。
此方法对于寻找 3×3 矩阵的特征值特别有用,其中特征方程是三次多项式。
https://gist.github.com/viadean/68d1de6c2daa57b616d72ef11ef3750b
修正后的实现成功计算了三次方程的实特征值。 在这种情况下,计算出的特征值约为 -3.47。
https://gist.github.com/viadean/5083aa2a12a57346d9c0b8087ebef28c
计算出的给定矩阵 A 的特征向量是:
没有明确列出第三个特征向量,因为该函数在数值计算中仅识别出两个不同的特征值。