eigenvalue diagonalization in matlab

14 次查看(过去 30 天)
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
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
Does eig not provide the solution, assuming a solution exists?

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by