I have six equations and thirteen variables. I would like to reduce it to seven free parameters. I used Reduce to solve it but it is taking really long (one full day and no output yet) and I think there must be a better way. Here is my code

Y = {{y1}, {y2}, {y3}} 
T = {{t11, t12, t13}, {t21, t22, t23}, {t31, t32, t33}} 
K = k*IdentityMatrix[3]

M = Y.Transpose[Y] + T.Transpose[T] - K %This is a symmetric matrix

Reduce[M[[1]][[1]]==0&&M[[1]][[2]]==0&&M[[1]][[3]]==0&&M[[2]][[2]]==0&&M[[2]][[3]]==0&&M[[3]][[3]]==0, Reals]

What should I do to speed this up? I'm sure if I spent a few hours, I could do it by hand but surely, there is a simple way to do it in Mathematica?


1 Answer 1


Rewriting your system for easier reading:

Y = Array[y, 3];
T = Array[t, {3, 3}];
K = k*IdentityMatrix[3];
M = Transpose[{Y}].{Y} + T.Transpose[T] - K;

r = Eliminate[M == Array[0 &, {3, 3}], Join[Y, First@T]]

Variables[List @@ r]

(* {k, t[2, 1], t[2, 2], t[2, 3], t[3, 1], t[3, 2], t[3, 3]} *)
  • $\begingroup$ I'm having trouble understanding the output. Essentially, I should get seven free parameters (let's say these are the ones you have as a comment in the last line) and the remaining six (k, y1, y2, y3, t11, t12 and t13) should each be expressed in terms of those seven parameters. The output of your code gives me a single relationship among the seven parameters instead. Could you explain how I can proceed? Thanks! $\endgroup$ Sep 1, 2014 at 5:36
  • $\begingroup$ You can use that relationship to solve for one in terms of the others. Can do similarly for other combinations of retained variables. $\endgroup$ Sep 1, 2014 at 15:20
  • $\begingroup$ @belisarius and Daniel sorry guys but I'm having trouble seeing how to get this to work. The seven variables that are commented in the last line of belisarius' code should be the "free parameters" right? And now, any other variable I pick, say t[1,1] should be expressed as a function of only those seven free parameters. Instead, now I have one equation that relates the seven parameters. Thanks for your help (I will upvote but I don't have enough points yet). $\endgroup$ Sep 2, 2014 at 4:20

Your Answer

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

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