Finding Congruencing Matrix between two given matrices

2 visualizzazioni (ultimi 30 giorni)
I have two given nxn matrices A,M and I am trying to find P such that
P*A*P.'=M.
How can I find the solution for P in matlab?

Risposte (2)

Torsten
Torsten il 29 Ago 2022
  6 Commenti
Roi Binia
Roi Binia il 29 Ago 2022
Modificato: Roi Binia il 29 Ago 2022
I know it, I am trying to find the congruencing matrix.
Torsten
Torsten il 29 Ago 2022
Modificato: Torsten il 29 Ago 2022
Do you know of standard approaches from the literature ? I don't. Seems it is a hard problem with no ready-to-use solver.

Accedi per commentare.


Bruno Luong
Bruno Luong il 29 Ago 2022
Modificato: Bruno Luong il 30 Ago 2022
Partial solution:
if A and M are real symmetric or complex Hemitian, the P can be computed as
[W,E]=eig(M,'vector');
[V,D]=eig(A,'vector');
P = W*diag(sqrt(E./D))*V';
Note that if A and M real,
  • (A+A') and (M+M') are pure real symmetric,
  • 1i*(A-A') and 1i*(M-M') are pure imaginary Hermitian
  • Any real combination of both are Hermitian
  2 Commenti
Torsten
Torsten il 29 Ago 2022
Note that if A and M real,
  • (A+A') and (M+M') are pure real symmetric,
  • 1i*(A-A') and 1i*(M-M') are pure imaginary Hermitian
  • Any real combination of both are Hermitian
Do you think this helps for the general case A, M in GL(7,IR) or why did you add this ?
Bruno Luong
Bruno Luong il 29 Ago 2022
Modificato: Bruno Luong il 29 Ago 2022
If I know I would post the solution for general case.

Accedi per commentare.

Prodotti


Release

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by