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

16 Ansichten (letzte 30 Tage)
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?

Akzeptierte Antwort

KSSV
KSSV am 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.

Weitere Antworten (1)

Torsten
Torsten am 18 Jan. 2022
Bearbeitet: Torsten am 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.

Kategorien

Mehr zu Mathematics finden Sie in Help Center und File Exchange

Produkte


Version

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by