# Finding conjugating matrix

Posted 4 months ago
647 Views
|
4 Replies
|
1 Total Likes
|
 Hi, I'm completely new to Mathematica, and trying to do a quick crash course to get what I need to be able to perform some computations for part of a research problem. I've currently got two matrices $X$ and $C$ which I know to be conjugate, and I'm trying to get Mathematica to return the matrix (of a particular form, unipotent) that conjugates them. Here's a minimal working example: X={{a,1},{b,-a}} C={{0,1},{b-a*a,0}} L={{1,0},{l[2,1],1}} I'm trying to get Mathematica to solve the equation X.L==L.C for the entries of L below the diagonal, and, in particular, return the matrix L that solves this equation. It's probably worth noting that, I'd need to be able to generalise this to larger matrices ( $X$ and $C$ always known $n$-by-$n$ matrices, but are written in terms of variables a,...,a[n-1],b,...,b[n-1]), and L will have $(n^2-n)/2$ entries to be solved for.A little background on what I've found, but doesn't seem to work: I tried "Thread" for the equation, and solved. But this returns "solutions" for every entry involved. I believe the needed solutions (l[i,j], with i>j) are amongst the solutions, but I couldn't find how to extract these solutions. Maybe if that can be done, then Mathematica can be told how to assemble these solutions back into L? I've tried a few variants on "Solve", putting the various entries of $L$ into curly braces. Honestly, I'm pretty lost and my Google searches keep throwing up irrelevant pages. Any help would be hugely appreciated! Thanks in advance for any you can provide! Answer
4 Replies
Sort By:
Posted 4 months ago
 The system does not appear to have a solution. xmat = {{a, 1}, {b, -a}}; cmat = {{0, 1}, {b - a*a, 0}}; In:= lmat = Array[l, Dimensions[xmat]]; Solve[xmat.lmat == lmat.cmat, Flatten[lmat]] (* Out= {{l[1, 1] -> 0, l[1, 2] -> 0, l[2, 1] -> 0, l[2, 2] -> 0}} *) General remarl: avoid capital letters for variables. Many have built-in meanings. Answer
Posted 4 months ago
 Apologies, there was a sign error in my question. The cmat matrix should have been given by cmat={{0,1},{b+a*a,0}}. Answer
Posted 4 months ago
 Okay, so same idea. I changed lmat to be explicitly unimodular lower triangular. lmat = {{1, 0}, {z, 1}}; Solve[xmat.lmat == lmat.cmat, Variables[lmat]] (* Out= {{z -> -a}} *) Answer
Posted 4 months ago
 That works perfectly! Thank you so much for the help! Answer