JOVANA
Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

特征向量与特征值

当矩阵作用在大多数向量上时,它们会被甩离自己原本所在的那条线。极少数不会——它们只是被拉伸或压缩,仍留在自己那条线上。这些特殊的方向就是特征向量,拉伸的倍数就是特征值,把它们找出来,就解锁了一个变换的内在结构。

只被拉伸的方向

想象一个变换作用在平面上。几乎每一支箭头都被旋转得偏离了原来所在的那条线。但对于某些特殊方向,箭头仍留在自己那条线上,只是变长、变短或翻转。这样的方向就是一个 特征向量,而那个告诉它缩放了多少的数,就是它的 特征值,记作 lambda。

A * v = lambda * v

the matrix A acting on v
gives the SAME direction v,
just scaled by the number lambda
定义方程:沿着特征向量,A 的作用就像普通的数乘。

用特征方程把它们找出来

把 A*v = lambda*v 改写成 (A - lambda*I)*v = 0。要让某个非零的 v 被压成零,矩阵 (A - lambda*I) 就必须压垮空间——也就是说它的 行列式 为零。令 det(A - lambda*I) = 0,就得到 特征多项式,它的根就是特征值。

  1. 从 A = [[2,1],[0,3]] 开始,构造 A - lambda*I = [[2-lambda,1],[0,3-lambda]]。
  2. 取行列式:(2-lambda)(3-lambda) - 1*0 = (2-lambda)(3-lambda)。
  3. 令它为 0;根是 lambda = 2 与 lambda = 3——这两个就是特征值。
  4. 对 lambda = 2,解 (A - 2I)*v = 0 得到特征向量 (1,0);对 lambda = 3,得到 (1,1)。

一句老实话:并非每个矩阵都有实特征向量

特征向量是那些仍留在自己那条线上的方向。而纯旋转会把每一个方向都甩离它的线——这正是旋转的全部意义。所以在实数范围内,旋转根本没有特征向量,它的特征多项式也没有实根。

rotation by 90 degrees: A = [[0,-1],[1,0]]
det(A - lambda*I) = lambda^2 + 1 = 0
no real solution (roots are imaginary)
=> no real eigenvector
旋转把每个方向都送到别处,所以没有任何实数的线能幸存。