用矩阵求解线性系统

时间:2017-08-09 13:47:48

标签: matlab math linear-algebra

任何人都可以告诉我,如果有一个matlab函数来解决以下等式来找到 X

A X A = B

A B X 都是平方矩阵(n乘n)

其他信息:

  • X和B都是对称的。

  • B和X肯定是肯定的,

  • DET(A)= 0。

2 个答案:

答案 0 :(得分:0)

没有解决方案,因为左侧的行列式是0(因为det(A)= 0)而右侧的行列式是正的(因为B是正定的)。

答案 1 :(得分:-1)

一般来说,没有解决方案。特别是如果B是单数的,那么只有一个解决方案,

det( AXA ) = det(A)*det(X)*det(A) = 0

进行的一种方法是对角线A,即找到正交U和对角线D使得

A = U*D*U'

如果我们将其替换为等式,我们得到(*)

D*X~*D = B~

其中

 X~ = U'*X*U 
 B~ = U'*B*U

为简单起见,假设D的形式为

D = ( d 0 )
    ( 0 0 )

其中d是非奇异的。如果X~和B~被一致地划分为

X~ = (X11 X12)
     (X21 X22)
B~ = (B11 B12)
     (B21 B22)

然后从(*)得到

( d*X11*d 0 ) = ( B11 B12 )
( 0       0 )   ( B21 B22 )

因此,如果B12,B21和B22全部为零,那么只有一个解决方案,然后

X = U*( X11 X12 ) * U'
      ( X21 X22 )

,其中

  X11 = inv(d)*B11*inv(d)

和X12 X21和X22是任意的