Finding Congruencing Matrix between two given matrices
2 views (last 30 days)
Show older comments
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?
0 Comments
Answers (2)
Bruno Luong
on 29 Aug 2022
Edited: Bruno Luong
on 30 Aug 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 Comments
Torsten
on 29 Aug 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
on 29 Aug 2022
Edited: Bruno Luong
on 29 Aug 2022
If I know I would post the solution for general case.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!