# 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],1},{b[1],-a[1]}} C={{0,1},{b[1]-a[1]*a[1],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[1],...,a[n-1],b[1],...,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!
4 Replies
Sort By:
Posted 4 months ago
 The system does not appear to have a solution. xmat = {{a[1], 1}, {b[1], -a[1]}}; cmat = {{0, 1}, {b[1] - a[1]*a[1], 0}}; In[308]:= lmat = Array[l, Dimensions[xmat]]; Solve[xmat.lmat == lmat.cmat, Flatten[lmat]] (* Out[309]= {{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.
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[1]+a[1]*a[1],0}}.
 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[317]= {{z -> -a[1]}} *)