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

15 次查看(过去 30 天)
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?

采纳的回答

KSSV
KSSV 2022-1-18
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.

更多回答(1 个)

Torsten
Torsten 2022-1-18
编辑:Torsten 2022-1-18
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.

类别

Help CenterFile Exchange 中查找有关 Mathematics 的更多信息

产品


版本

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by