让,成为椭圆的焦点,,. 也让,是的半轴. 我们想找到(对称正定)矩阵.
我尝试了以下方法:
我首先构造了对角矩阵. 然后我构造了正交矩阵, 在哪里和, 具体来说.
最后我得到了. 但是,当我使用 Matlab 的eig() 函数再次获取特征值和特征向量时,虽然我得到了正确的特征值,但我得到了与特征向量相反的结果。
这里有什么错误?非常感谢!
让,成为椭圆的焦点,,. 也让,是的半轴. 我们想找到(对称正定)矩阵.
我尝试了以下方法:
我首先构造了对角矩阵. 然后我构造了正交矩阵, 在哪里和, 具体来说.
最后我得到了. 但是,当我使用 Matlab 的eig() 函数再次获取特征值和特征向量时,虽然我得到了正确的特征值,但我得到了与特征向量相反的结果。
这里有什么错误?非常感谢!
正如一些评论中所指出的,如果是一个特征向量, 那么也是对于任何. 给定一个特征值,因此有无穷多个特征向量。无论您使用什么求解器都会对特征向量进行归一化,从而将此集合减少为两种可能性;在哪里. 求解器无法知道您想要这两个中的哪一个。
这就提出了一个问题,你在乎你得到什么吗?就指定椭圆或跨越相关空间而言,答案是否定的。如果是特征向量的集合,那么这些向量上符号变化的任意组合,, 跨越相同的子空间并在构造矩阵时等效地定义相同的椭圆从他们。
然而,在某些情况下,你得到什么很重要。例如,如果您想获得给定时间序列矩阵的椭圆的角速度,你可以使用每个的特征向量来做到这一点. 其列是特征向量的矩阵定义一个旋转,在这种情况下,采用相反的特征向量将给出不同的旋转(尽管相对于椭圆对称)。
标志是什么对你的问题重要吗?如果是这样,我们可以设计一种方法来为您提供“正确”的方法。