【问题标题】:Eigenvalues in octave with eig()八度音阶的特征值与 eig()
【发布时间】:2014-04-07 09:32:54
【问题描述】:

考虑实数对称矩阵

S = (2, 1; 1, 2)

从特征方程 |S - λ I|,我们有二次 (2-λ)^2 - 1 = 0,其解产生特征值 3 和 1。对应的特征向量是 (1;-1) 和(1;1)。

octave:4> [V,lambda] = eig([2, 1; 1,2])
V =

  -0.70711   0.70711
   0.70711   0.70711

lambda =

Diagonal Matrix

   1   0
   0   3

为什么特征向量是八度[-0.70711; 0.70711] 和 [0.70711; 0.70711]?

【问题讨论】:

    标签: octave eigenvector eigenvalue


    【解决方案1】:

    给定λ1 = 3,对应的特征向量为:

    | 2 1 |   |x|     |x|
    |     | * | | = 3 | |   =>   x = y
    | 1 2 |   |y|     |y|
    

    即对于任何非零实数 x,任何 [x, x]' 形式的向量都是特征向量。所以[0.70711, 0.70711]' 是一个与[1, 1]' 一样有效的特征向量。

    Octave(也包括 Matlab)选择的值使得每个特征向量的元素的平方和等于一(特征向量被归一化为范数为 1 并且被选择为正交的,准确地说)。

    当然同样适用于 λ2 = 1。

    【讨论】:

      【解决方案2】:

      换句话说,V 是 [1 1; 的 qr 之一; -1 1]

      所以你可以这样检查。

      a = [1 1; -1 1]
      [q,r] = qr(a)
      
      q = 
         -0.70711  0.70711
          0.70711  0.70711
      

      结果和eig一样

      【讨论】:

        【解决方案3】:

        Manlio 是正确的,原因如下:

        任何特征值问题都有无限个特征向量。当您手动找到一个特征向量时,您实际计算的是一个参数化向量,表示该无限系列的解决方案。给定特征值的特定特征向量 Octave(和大多数计算机软件)返回的元素可用于形成与该特征值相关的特征空间的正交基向量。这些基向量的任何线性组合都是特征向量。

        因此,如果您期望不同的特征向量,只需检查以确保它与计算的基向量 Octave 线性相关。

        【讨论】:

          猜你喜欢
          • 2011-01-14
          • 1970-01-01
          • 2020-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-09-03
          相关资源
          最近更新 更多