Mathematica taking a long time to solve

  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. 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. 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. 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. Hepth

    Hepth 491
    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

    etc.
     
  7. thank you guys for your replies
     
Know someone interested in this topic? Share a link to this question via email, Google+, Twitter, or Facebook

Have something to add?