I did Jordan decomposition of a matrix by using this code:
A = [1 -3 -2; -1 1 -1; 2 4 5];
[V, J] = jordan(A)
Now I need to do inverse Jordan decomposition to get original matrix A. How can I do that in Matlab?
Inverse Jordan Decomposition Matlab code?
-2
$\begingroup$
matrices
matrix-decomposition
jordan-normal-form
-
1A Jordan decomposition of $A$ gives you $V$ and $J$, so that $A = VJV^{-1}$. You can easy see, how to get from $V$ and $J$ back to $A$. – 2017-01-10
-
0I tried this code `IJ = (1\V)*(1\J)*(V)` but didn't get the correct result. – 2017-01-10
1 Answers
1
A Jordan decomposition of $A$ gives you matrices $V$ and $J$, such that $A = VJV^{-1}$. And that is exactly what you need to do, to get back to $A$! Just use "A2 = (V*J)/V;" and you will get the result.
What you did in the comments (1\V) is not a valid MATLAB syntax for the inverse of a Matrix. I have to admint, that \ is also not correct in that case, since it is left inversion. "/" is therefore correct! (see code below)
I was made aware, that jordan is from the symbolic toolbox and therefore $J$ and $V$ will not be easy to handle. In that case, you could use the double command of the toolbox. Therefore this will work quite well
[V,J]=jordan(A); V2=double(V); J2=double(J); A2=V2*J2/V2; max(max(abs(A-A2)))
-
0nope... the result is wrong! – 2017-01-10
-
0I just realised, that "jordan" is from the symbolic toolbox. This makes everything worse... Be right back with results! – 2017-01-10
-
0Edited my answer! – 2017-01-10
-
0Thanks a lot. Got the correct result. Just thinking why am I devoted? – 2017-01-10