eigenvalue diagonalization in matlab

I need to calculate eigenvalue diagonalization of B = P-1VP by showing P-1, V and P. I couldn't find anything online and in eig function. Can someone help me solve this issue?

 採用された回答

Walter Roberson
Walter Roberson 2022 年 10 月 25 日
編集済み: Walter Roberson 2022 年 10 月 25 日

1 投票

The typical semantics for eig is
[V, D] = eig(A)
which calculates A*V = V*D
If you pre-multiply by inv(V) then inv(V)*A*V = inv(V)*V*D which is inv(V)*A*V = D which has form that the user is looking for, if we rename some variables,
[P, B] = eig(V)
would then become inv(P)*V*P = B -- where V would be the input and B would be the diagonal output, and the whole thing would be confusing to people accustomed to V being an output and B (or other full matrix) being the input.
What if we post-multiply?
A*V*inv(V) = V*D*inv(V)
then A = V*D*inv(V) . But this is the wrong form, having an original matrix on the left and its inverse on the right. We would need to do something like
[invP, V] = eig(B);
P = inv(P);
and that would satisfy -- at the expense, again, of confusion from people who are accustomed to V being the role of the full matrix, not of the diagonal.
Possible? Yes, with some confusion. Not recommended, however.

その他の回答 (1 件)

Paul
Paul 2022 年 10 月 24 日

0 投票

Does eig not provide the solution, assuming a solution exists?

カテゴリ

ヘルプ センター および File ExchangeMatrix Indexing についてさらに検索

製品

質問済み:

2022 年 10 月 24 日

編集済み:

2022 年 10 月 25 日

Community Treasure Hunt

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

Start Hunting!

Translated by