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

17 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

KSSV
KSSV el 18 de En. de 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.

Más respuestas (1)

Torsten
Torsten el 18 de En. de 2022
Editada: Torsten el 18 de En. de 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.

Categorías

Más información sobre Mathematics en Help Center y File Exchange.

Productos


Versión

R2020a

Community Treasure Hunt

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

Start Hunting!

Translated by