在R中的共轭转置

3
我正在尝试在R中计算共轭转置。 这里我对一个非对称矩阵进行特征分解。我期望特征向量$U$应该是一个酉矩阵,因此共轭转置$U^*$应该等于它的逆$U^{-1}$。然而,它们并不相等。 我认为问题可能是以下其中之一:
  1. 我的特征分解代码eigen(A, symmetric=F)有误
  2. 存在数值精度问题
  3. 我错误地假设了这个矩阵应该是酉矩阵
提前感谢您的帮助。
#generate sample data
set.seed(0)
n <- 3
A <- matrix(runif(n^2), n)

#eigendecomposition
eigen_A <- eigen(A, symmetric=F)

#get unitary matrix U from eigenbasis
U <- eigen_A$vectors

#compute conjugate tranpose of U
U_conjugate_transpose <- Conj(t.default(U))
print(U_conjugate_transpose)

#compute inverse of U
U_inverse <- solve(U)
print(U_inverse)

#check equality
all.equal(U_conjugate_transpose, U_inverse)






我已经阅读了R中eigen函数的文档,并且我认为我的参数是正确的。 我预期U的逆矩阵应该等于它的共轭转置。
1个回答

3
我认为是第3点(即,在这种情况下,您错误地假设特征向量矩阵应该是幺正的)。ALGLIB(一个数值分析库)的文档中说:
与对称问题相反,非对称矩阵的特征值a不构成正交系统。
进一步详细说明,斯坦福线性代数课程的这些笔记指出,Schur分解A = Q^H T Q将一个方阵非对称矩阵A分解为涉及幺正矩阵Q和上三角矩阵T的二次型,其中“其对角元素是A的特征值”...
然而,对于一般矩阵A,A的Schur向量与A的特征向量之间没有关系。

请注意,对于实矩阵,存在一种实舒尔分解,其中T仅为上拟三角形(具有1×1和2×2对角块),而矩阵A的特征值是对角块的特征值,而不是对角元素的特征值。这可以通过Matrix::Schur来计算... - Mikael Jagan
1
请注意,对于实矩阵,存在实舒尔分解,其中T只是上拟三角形(具有1×1和2×2对角块),矩阵A的特征值是对角块的特征值,而不是对角元素的特征值。这是通过Matrix::Schur计算的... - undefined
请注意,对于实矩阵,存在一种实舒尔分解,其中T仅为上拟三角形(具有1×1和2×2对角块),而矩阵A的特征值是对角块的特征值,而不是对角元素的特征值。这可以通过Matrix::Schur来计算... - Mikael Jagan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接