How to obtain the value of the matrix X in equation AXA' = B?
15 views (last 30 days)
Show older comments
Muhammad Rony Hidayatullah
on 18 Jan 2022
Commented: Muhammad Rony Hidayatullah
on 19 Jan 2022
If I have
A*X*A' = B
X and B are real square matrices.
A might not be square matrix.
For example:
A (3x4) is given
B (3x3) is given
X (4x4) is unknown matrix.
How can I obtain the X matrix?
0 Comments
Accepted Answer
KSSV
on 18 Jan 2022
For the give dimensions and given equation it cannot be solved. But for given dimensions the following equation can be solved.
% A'*X*A = B
To solve above A can be (3x4) , X is (3,3) abd B is (4x4).
A = rand(3,4) ;
B = rand(4,4) ;
X = pinv(A')*B*pinv(A)
If you want to solve the given equation:
% A*X*A' = B
The dimensions of A should be (4x3), X is (3x3) and B is (4X4)
A = rand(4,3) ;
B = rand(4,4) ;
X = pinv(A)*B*pinv(A')
Check the dimensions once for your quesion. Read about pinv function and it's properties.
More Answers (1)
Torsten
on 18 Jan 2022
Edited: Torsten
on 18 Jan 2022
If you multiply out A*X*A' for a matrix of unknowns X=(x_ij) and compare the elements with those of the matrix B, you get an (in your case) underdetermined linear system of equations for the x_ij. This usually has an infinite number of solutions.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!