如何求解 A*X - X*A' = 0



我有一个形式为A*X = X*A'的方程,其中A和X是实数,方阵(在这种情况下为3x3), A是已知的,A'表示A的转置。如何使用MATLAB求解X ?

这是一个Sylvester方程。然而,它是奇异的,因为A和A'的特征值是相同的。但是你可以用公式[我⊗很‘⊗我)X (:) = C (:):

m=kron(eye(3),a)+kron(-a,eye(3))
v=null(m)
x1=reshape(v(:,1),[3 3])
x2=reshape(v(:,2),[3 3]) 
x3=reshape(v(:,3),[3 3])

现在解是张成{x1,x2,x2},即任何形式的矩阵B x1 + c x2 +d x3,其中B c d是任意实数

我不认为Matlab有符号代数的功能。

如果你展开A和X,并通过这个表达式,你得到一个3x3矩阵,其中有几个未知数,所有的都是零。然后你解它

但我不认为Matlab允许您将矩阵设置为符号,而不是值并为您展开它。对于这种简单的情况,您可以轻松地编写这样一个函数,将字符串矩阵乘以数值矩阵。问题是,如果不使用整个Maple/Mathematica引擎,很难将其扩展到一般情况。

相关内容

  • 没有找到相关文章

最新更新