我正在寻找或者更确切地说在 2 个矩阵之间构建公共特征向量矩阵 X A,B例如:
AX=aX with "a" the diagonal matrix corresponding to the eigenvalues
BX=bX with "b" the diagonal matrix corresponding to the eigenvalues
其中A和B是可对角化的方阵。
我看了一下类似的帖子,但没有得出结论,即当我构建F由以下定义的最终想要的内同态时得到有效的结果:F = P D P^-1
我还阅读了维基百科主题和这篇有趣的论文,但不必提取非常容易实现的方法。
从数学交流中,一个建议在换向器 [A,B] 上使用奇异值分解 (SVD),即在 Matlab 中通过:
“如果𝑣是一个共同的特征向量,那么 ‖(𝐴𝐵−𝐵𝐴)𝑣‖=0。该SVD方法为您提供了一个最小化 ‖(𝐴𝐵−𝐵𝐴)𝑣”的单位向量 𝑣(约束条件为 ‖𝑣‖=1) "
所以我从 中提取近似特征向量 V:
[U,S,V] = svd(A*B-B*A)
有没有办法提高精度以尽可能地最小化‖(𝐴𝐵−𝐵𝐴)𝑣‖,我的意思是公差尽可能小?
相结合的换向器的最小化,即 ‖(𝐴𝐵−𝐵𝐴)𝑣‖ ?
我看到有另一个函数调用rref它可以接受一个容差参数但是:
- 奇异值分解有什么区别
svd - 我可以应用哪个标准来选择公差值
找到近似共同特征向量矩阵的 2 个矩阵可在此处获得:
任何人都可以尝试应用适当的函数 Matlab 来找到共同特征向量的基础,或者为此编写一个小的 Matlab 脚本?即使是近似基础也足够了,一切都取决于我准备接受的容差,但目前我不知道如何用SVD算法引入这个容差参数。
更新1:在我尝试使用的不同方法中,任何人都可以解释method of Pool Variance?如果它可以很容易实现。我记得它是通过取每个对角化的 Fisher 矩阵的一半并将它们相加以返回到最终的协方差空间中,即只需应用 : Cov = P Fisher_diagonal_sum P^-1?
使用这种方法,我得到了有趣的结果,但从理论的角度来看,我无法证明这个池方差矩阵的原理是正确的(即,通过取对角 Fisher 矩阵值的一半并返回协方差):为什么一半?
欢迎任何建议/跟踪/线索帮助