# Mathematica taking a long time to solve

1. Jul 7, 2010

### haihek

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. Jul 7, 2010

### implicitnone

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.

3. Jul 7, 2010

### haihek

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??

4. Jul 8, 2010

### Bill Simpson

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.

5. Jul 8, 2010

### Hepth

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.

6. Jul 13, 2010

### haihek

thank you guys for your replies