简单来说,特征向量指出了矩阵变换的主要方向,特征值则量化了沿这些方向的缩放程度。它们在物理学、工程学、计算机科学等领域有广泛应用,如振动分析、图像处理、数据降维等。特征值(Eigenvalue)和特征向量(Eigenvector)是线性代数中的重要概念。对于一个给定的方阵A,它的特征向量是指一个非零向量v,当A乘以v时,得到的新向量与v共线(即方向相同或相反)。而特征值λ则是描述特征向量v在变换中被缩放的比例。

以下方法提供了一种结构化的方法,通过求解其特征多项式(形式为 $c(t)=t^3 + e t^2 + f t + g$ 的三次方程)来计算矩阵的特征值。 主要步骤包括:

  1. 变换多项式为降次三次方程,使用以下替换:

    $$ 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} $$

  2. 定义 $h$ 以确定根的性质:

  3. 当存在三个实解时,用三角函数计算根:

    $$ \theta = \operatorname{acos} \left( -q / \left( 2 \sqrt{-p^3 / 27} \right) \right) / 3 $$

    然后使用 $cosθ$ 和 $sinθ$ 计算 $s_0,s_1,s_2$。

  4. 通过加上 $e/3$,最终转换回原始变量 t。

此方法对于寻找 3×3 矩阵的特征值特别有用,其中特征方程是三次多项式。

🧠实现一个使用此方法的 Python 函数来计算特征值

https://gist.github.com/viadean/68d1de6c2daa57b616d72ef11ef3750b

修正后的实现成功计算了三次方程的实特征值。 在这种情况下,计算出的特征值约为 -3.47

基于特征多项式的根及其重数计算特征向量

🧠实现一个使用此方法的 Python 函数来计算特征向量

https://gist.github.com/viadean/5083aa2a12a57346d9c0b8087ebef28c

计算出的给定矩阵 A 的特征向量是:

没有明确列出第三个特征向量,因为该函数在数值计算中仅识别出两个不同的特征值。