Register to reply

Mathematica taking a long time to solve

by haihek
Tags: mathematica, solve, time
Share this thread:
haihek
#1
Jul7-10, 09:26 AM
P: 3
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}]
Phys.Org News Partner Science news on Phys.org
Hoverbike drone project for air transport takes off
Earlier Stone Age artifacts found in Northern Cape of South Africa
Study reveals new characteristics of complex oxide surfaces
implicitnone
#2
Jul7-10, 10:37 AM
P: 19
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.
haihek
#3
Jul7-10, 01:03 PM
P: 3
Quote Quote by implicitnone View Post
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.
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??

Bill Simpson
#4
Jul8-10, 12:42 PM
P: 1,028
Mathematica taking a long time to solve

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.
Hepth
#5
Jul8-10, 02:54 PM
PF Gold
Hepth's Avatar
P: 466
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.
haihek
#6
Jul13-10, 01:20 AM
P: 3
thank you guys for your replies


Register to reply

Related Discussions
How Long Should This Be Taking? Academic Guidance 8
Taking only the positive sqrt in Mathematica Math & Science Software 1
Solve a PDE of 4order in space and 2nd order in time using Mathematica or Matlab Differential Equations 0
My first sports session in a long long time (groan) General Discussion 14