3
$\begingroup$

Given $$A = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & -3 \\ 1 & 3 & 2 \end{bmatrix}$$ $$B= \begin{bmatrix} 1 & 0 & 0 \\ 0 & 2 & -3 \\ 0 & 3 & 2 \end{bmatrix}$$ find $P$ such that $P^{-1} A P = B$.

Firstly I said that $AP=PB$

Solved the 9 equations in 9 unknowns. and got that:

$$P= \left( \begin{array}{ccc} -10x & 0 & 0 \\ 3x & y & z \\ x & -z & y \end{array} \right)$$

Then I used computer to find $P^{-1}$ in terms of those unknowns and plugged it back in to

$P^{-1}AP=B$

Compared the coefficients and i end up with $B= \left( \begin{array}{ccc} 1 & 0 & 0 \\ -z/10x & 2 & -3 \\ 1-y/10x & 3 & 2 \end{array} \right) $

Set $x=1$, $y=10$, $z=0$ and indeed $P^{-1}AP=B$

The doubts I am having is the fact that P is not unique. I could set x,y,z to different numbers.

Can anyone explain this? Thank you.

$\endgroup$
  • $\begingroup$ Left multiply both sides by $P$? Is there a better method? $\endgroup$ – Scavenger23 Mar 10 '17 at 15:16
  • $\begingroup$ That is very true. Thank you. I believe it won't change anything no matter which way i do it? $\endgroup$ – Scavenger23 Mar 10 '17 at 15:17
  • 1
    $\begingroup$ Suppose that $P$ solves your problem, then $\alpha P$ will also solve it for any $\alpha \neq 0$ so the solution is never unique. $\endgroup$ – Surb Mar 10 '17 at 16:14
1
$\begingroup$

Using SymPy:

>>> from sympy import *
>>> X = MatrixSymbol('X',3,3)
>>> A = Matrix([[ 1, 0, 0],
                [ 0, 2,-3],
                [ 1, 3, 2]])
>>> B = Matrix([[ 1, 0, 0],
                [ 0, 2,-3],
                [ 0, 3, 2]])
>>> simplify(Matrix(A*X - X*B))
Matrix([
[                            0,            -X[0, 1] - 3*X[0, 2],             3*X[0, 1] - X[0, 2]],
[          X[1, 0] - 3*X[2, 0],          -3*(X[1, 2] + X[2, 1]),           3*(X[1, 1] - X[2, 2])],
[X[0, 0] + 3*X[1, 0] + X[2, 0], X[0, 1] + 3*X[1, 1] - 3*X[2, 2], X[0, 2] + 3*X[1, 2] + 3*X[2, 1]]])

If $\rm A X - X B = O_3$, we have an underdetermined homogeneous system of $3^2 - 1$ linear equations in $3^2$ unknowns. Thus, we have at least $1$ degree of freedom. We vectorize the matrix equation

$$\left( \mathrm I_3 \otimes \mathrm A - \mathrm B^{\top} \otimes \mathrm I_3 \right) \mbox{vec} (\mathrm X) = 0_9$$

and let $\mathrm M := \mathrm I_3 \otimes \mathrm A - \mathrm B^{\top} \otimes \mathrm I_3$. Using SymPy:

>>> I3 = Identity(3)
>>> O3 = ZeroMatrix(3,3)
>>> M = BlockMatrix([[A - I3,       O3,       O3],
                     [    O3, A - 2*I3,    -3*I3], 
                     [    O3,     3*I3, A - 2*I3]])
>>> Matrix(M)
Matrix([
[0, 0,  0,  0, 0,  0,  0,  0,  0],
[0, 1, -3,  0, 0,  0,  0,  0,  0],
[1, 3,  1,  0, 0,  0,  0,  0,  0],
[0, 0,  0, -1, 0,  0, -3,  0,  0],
[0, 0,  0,  0, 0, -3,  0, -3,  0],
[0, 0,  0,  1, 3,  0,  0,  0, -3],
[0, 0,  0,  3, 0,  0, -1,  0,  0],
[0, 0,  0,  0, 3,  0,  0,  0, -3],
[0, 0,  0,  0, 0,  3,  1,  3,  0]])
>>> Matrix(M).rank()
6

Hence, we have $3^2 - 6 = 3$ degrees of freedom.

$\endgroup$
  • $\begingroup$ Yes I know realised that the answer I posted only works for PAP^-1 P^-1AP allows you to set all three unknowns, as long as resulting P is invertible. $\endgroup$ – Scavenger23 Mar 10 '17 at 20:04
2
$\begingroup$

The computation is correct, and we cannot expect that $P$ is unique in general. A somewhat extreme case is $A=B=0$, where any invertible $P$ will do.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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