5
$\begingroup$

I have difficulty in finding the transformation matrix of two similar matrices.

It is known that matrix $A=\left(\begin{array}{ccc} -2 & -2 & 1 \\ 2 & x & -2 \\ 0 & 0 & -2 \end{array}\right)$ is similar to matrix $B=\left(\begin{array}{lll} 2 & 1 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & y \end{array}\right)$.

I found the specific values of $x$ and $y$ by using the following method:

Aλ = λ*
    IdentityMatrix[3] - {{-2, -2, 1}, {2, x, -2}, {0, 0, -2}};
Bλ = λ*
    IdentityMatrix[3] - {{2, 1, 0}, {0, -1, 0}, {0, 0, y}};
Control`PCS`SmithForm[Aλ, λ]
Control`PCS`SmithForm[Bλ, λ]
SolveAlways[-(λ + 2) (-λ^2 - 
     2 λ + λ x + 2 x - 4) == (λ - 
     2) (λ + 1) (-(y - λ)), λ]

When I want to find an invertible matrix P such that $P^{-1}AP=B$, I have a problem:

eqs = Thread[
   Flatten[Inverse[{{x11, x12, x13}, {x21, x22, x23}, {x31, x32, 
         x33}}].({{-2, -2, 1}, {2, x, -2}, {0, 0, -2}} /. 
        x -> 3).{{x11, x12, x13}, {x21, x22, x23}, {x31, x32, 
        x33}}] == 
    Flatten[{{2, 1, 0}, {0, -1, 0}, {0, 0, y}} /. y -> -2]];
FindInstance[eqs, {x11, x12, x13, x21, x22, x23, x31, x32, 
  x33}, Reals]

The above code has been running, unable to return the results, what is a good way to find this matrix $P$?

$\endgroup$
1

2 Answers 2

5
$\begingroup$

Your specific example can be solve with a general $P$, see code below.

(*Data*)
A = {{-2, -2, 1}, {2, x, -2}, {0, 0, -2}};
B = {{2, 1, 0}, {0, -1, 0}, {0, 0, y}};

(*Search for x and y based on characteristic polynomial*)
n = Length@A;
Id = IdentityMatrix@n;
solxy = SolveAlways[Det[A - l*Id] == Det[B - l*Id], l]

(*Update data*)
A = A /. solxy[[1]];
B = B /. solxy[[1]];

(*Solve for general P*)
P = Array[p, {n, n}];
solP = Solve[P.B == A.P, Flatten@P];
P = P /. solP[[1]]

(*Check*)
B == [email protected] // Simplify

enter image description here

You can then enter some values for the free components of $P$.

$\endgroup$
2
$\begingroup$

The purely linear algebraic way to do this is to reduce both matrices to Jordan form:

{sa, ja} = JordanDecomposition[{{-2, -2, 1}, {2, x, -2}, {0, 0, -2}}];
{sb, jb} = JordanDecomposition[{{2, 1, 0}, {0, -1, 0}, {0, 0, y}}];

Inspecting both ja and jb shows that they are both diagonal, so we can proceed:

Diagonal[ja]
   {-2, 1/2 (-2 + x - Sqrt[-12 + 4 x + x^2]), 1/2 (-2 + x + Sqrt[-12 + 4 x + x^2])}

Diagonal[jb]
   {-1, 2, y}

A moment's consideration leads us to letting y == -2. To try finding x, we try equating one of ja's unknown eigenvalues to one of jb's:

Solve[1/2 (-2 + x - Sqrt[-12 + 4 x + x^2]) == -1, x]
   {{x -> 3}}

(Exercise: look at what happens if you take all corresponding pairs of eigenvalues between ja and jb, and equate them.)

Thus, we can assemble the similarity transformation as:

pa = (sa /. x -> 3).Inverse[sb[[All, {3, 1, 2}]]]
   {{-1/2, -13/6, -1/4}, {1, 4/3, 1/2}, {0, 0, 1}}

(Exercise: derive the expression I used for the similarity transformation)

Check:

Inverse[pa].({{-2, -2, 1}, {2, x, -2}, {0, 0, -2}} /. x -> 3).pa -
({{2, 1, 0}, {0, -1, 0}, {0, 0, y}} /. y -> -2)
   {{0, 0, 0}, {0, 0, 0}, {0, 0, 0}}
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.