How to obtain the value of the matrix X in equation AXA' = B?

18 views (last 30 days)
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?

Accepted Answer

KSSV
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)
X = 3×3
8.6286 7.7981 -10.7310 8.3291 3.1179 -8.3506 -8.9399 -3.2050 10.3068
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')
X = 3×3
1.7788 -1.3116 1.1470 1.2149 -0.0710 -0.6240 -0.8625 1.7781 -0.6461
Check the dimensions once for your quesion. Read about pinv function and it's properties.

More Answers (1)

Torsten
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.

Categories

Find more on Mathematics in Help Center and File Exchange

Products


Release

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!