How can find the solution of this matrix system?
3 次查看(过去 30 天)
显示 更早的评论
Hi all,
I'm pretty new in Matlab. I would like to solve this matrix system
XAX' = B
where A is a symmetric positive definite matrix and B is a diagonal matrix with positive elements on the diagonal. How can find X?
Thanks,
Johnny
0 个评论
回答(1 个)
Ameer Hamza
2020-5-28
sol = fsolve(@(X) X*A*X.'-B, rand(size(A)))
2 个评论
Ameer Hamza
2020-5-28
For analytical solutions, we usually use the symbolic toolbox. However, as far as I know, the symbolic engine still does not support solving the matrix equation. Even for the following specific cases, there is no solution
syms a b c d e f
A = [a b; b c];
B = [d 0; 0 e];
x = sym('x', size(A));
solve(x*A*x'==B, x)
solve(x*x'==B, x) % A = eye(2)
You may need to try some other symbolic engine (mathematics or maple maybe), but I haven't tried those for matrix equations, so I don't know for sure.
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!