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?
0 个评论
采纳的回答
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.
0 个评论
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Matrix Indexing 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!