【问题标题】:Calculating eigenvectors/values of a 2x2 tensor计算 2x2 张量的特征向量/值
【发布时间】:2011-03-17 15:28:56
【问题描述】:

我正在实现this paper 中描述的系统,但我有点卡住了。我最近才遇到张量/特征值等,如果这有点简单,请原谅!

给定一个 2x2 张量,我如何计算它的主要和次要特征向量?

易于翻译成 C# 的实现的奖励积分 ;)

【问题讨论】:

    标签: c# language-agnostic math eigenvector eigenvalue


    【解决方案1】:

    (我使用的是 MATLAB 矩阵表示法;分号表示“新行”。)

    [u;v] 是 [a b; 的特征向量c d] 具有特征值 t if [a b; c d] [u;v] = t[u;v]。这意味着 au+bv=tu 和 cu+bv=tv;即,(a-t)u+bv=0 和 cu+(d-t)v=0。如果这有任何非平凡的解决方案,那是因为这两个方程除了一个常数因子之外是相同的;那么你的特征向量是 [u;v] = [b;t-a]。 (当然,唯一的只有一个常数因子。)

    特征值是可能的 t 值;也就是说,除了常数因子之外,这两个方程是相同的。如果矩阵 [a-t b; c d-t]是奇异的,表示其行列式为零,表示(a-t)(d-t)-bc=0,表示t^2 - (a+d)t + (ad-bc) = 0。

    所以:求解该方程的特征值,然后按照我上面描述的方式获得特征向量。

    特征值可能很复杂(例如,对于旋转)。在这种情况下,您也会得到复杂的特征向量,这是正确的,因为 Av=kv 不能具有 A,v 实数但 k 不是实数。

    两个警告。

    1. 有些矩阵有两个相等的特征值。它们可能有也可能没有两个独立的特征向量。如果矩阵是单位矩阵的常数倍数——形式为 [k 0; 0 k] -- 那么它确实有两个独立的特征向量,实际上 any 两个独立的向量都可以,因为一切都是一个特征向量。否则,只有一个特征向量,任何依赖于两个特征向量的定理或算法都可能失败。这将发生,例如,使用 [1 k; 形式的“剪切”矩阵。 0 1]。

    2. 在大于 2 的维度中,您不希望以这种方式做事。计算特征向量和特征值有很多更好(但更复杂)的方法,并且您无法获得“正确”数量的独立特征向量的方法更广泛。

    【讨论】:

    • 两个特征值中,哪个是主要的,哪个是次要的?
    • 看论文,我认为他们实际上将考虑限制在一种特定形式的 2x2 矩阵——形式为 R[cos(2t) sin(2t); sin(2t) -cos(2t)]——他们已经很好地告诉你特征向量是什么,并将它们标记为“主要”和“次要”。 (所以,实际上,你不需要我上面描述的任何东西!)它们的矩阵都是缩放的反射;一个特征向量平行于反射线,一个垂直。他们的“主要特征向量”是特征值+R而不是-R的那个;沿着反射线。
    • 一般来说,我认为“主要特征向量”是指“最大绝对值的特征值对应的特征向量”;在本文的情况下,特征值具有相同的绝对值,“主要”值是正值。 “主要”一词比“主要”更常见。
    • 糟糕,他们在我不懂的数学墙后面隐瞒了他们给我向量的事实!
    • 我不认为他们将自己限制在纯粹的那些类型的矩阵中。查看他们定义径向基场的位置。那是完全不同的形式。
    猜你喜欢
    • 1970-01-01
    • 2012-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    相关资源
    最近更新 更多