Mathematica taking a long time to solve

  1. Jul 7, 2010 #1
    Hi everyone,

    I am trying to solve this complicated two simultaneous equations, and it has been taking more than 2 hours to solve .. and it is still running... can anyone tell me what is wrong .. thanks

    Solve[{((((1 - xr)/xr)^(1/2) (M2^2 xr - 1)/(
    1 + (gam + 1)/2 M2^2 - M2^2 xr)) - (((1 - xm)/xm)^(1/2) (
    M1^2 xm - 1)/(1 + (gam + 1)/2 M1^2 - M1^2 xm)))/(
    1 + (((1 - xr)/xr)^(1/2) (M2^2 xr - 1)/(
    1 + (gam + 1)/2 M2^2 - M2^2 xr)) (((1 - xm)/xm)^(1/2) (
    M1^2 xm - 1)/(1 + (gam + 1)/2 M1^2 - M1^2 xm))) == tanthi,
    xm - a xr == b}, {xm, xr}]
  2. jcsd
  3. Jul 7, 2010 #2
    Try to solve xm in terms of xr from
    xm - a xr == b
    then place it in the other equation, then solve just for xm.
    It may do the job.
  4. Jul 7, 2010 #3
    Thank you for you reply, although it looked like it may do the job, but nope.. still facing the same waiting time. I don't know if it is normal to take that long (6 hours now), because i never faced this type of run before. Should i just keep it running? or is it a sign of calculation failure??
  5. Jul 8, 2010 #4
    Disclaimer: This is somewhat user superstition.

    It seems that when Solve is given "complicated equations" that the size of the expression has a serious effect on the run time. Doing what is possible to reduce the size of the expressions seems to help.

    Notice that gam always appears as (gam + 1)/2 in your expression. Substituting using
    expression/.(gam + 1)/2->g
    will reduce the size and not change the results.

    If I have not made any mistake then the smallest I have been able to make your expression is
    (-(Sqrt[-1 + 1/xm]*(-1 + M1^2*xm)*(1 + M2^2*(g - xr))) + (1 + M1^2*(g -
    xm))*Sqrt[-1 + 1/xr]*(-1 + M2^2*xr))/((1 + M1^2*(g - xm))*(1 + M2^2*(g -
    xr)) - Sqrt[-1 + 1/xm]*(-1 + M1^2*xm)*Sqrt[-1 + 1/xr]*(-1 + M2^2*xr))

    That is about 2/3 the size of your original and does not incorporate the other
    suggestion of substituting for one of the xm or xr.
  6. Jul 8, 2010 #5


    User Avatar
    Gold Member

    Its a sign of the solution probably having no analytic form, or at least a really crazy one.
    It helps to assign some assumptions sometimes, especially when sqrts are involved. Are the M's or xm's or a/b positive? real? less than/gt one? These things can help speed things up:

    $Assumptions = b>0&&a>0&&0<=xm<=1

  7. Jul 13, 2010 #6
    thank you guys for your replies
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Similar Discussions: Mathematica taking a long time to solve