Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Problems with Mathematica 8.0 Solve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg114198] Problems with Mathematica 8.0 Solve
  • From: leigh pascoe <leigh at evry.inserm.fr>
  • Date: Fri, 26 Nov 2010 05:32:06 -0500 (EST)

Dear Mathgroup,

Like many of you I have recently installed Mathematica 8.0 and have been 
exploring its new features. I have encountered the following problem 
using the Solve Function:

Firstly in Mathematica 7.0

I try to solve the following two simultaneous equations
In[35]
eq1 = (b + d + f)/x - (a + b)/(1 + x) -    2*(c + d + e)/(1 + 2*x + y) - 
(f + g)/(x + y) == 0
eq2 = (e + g)/y - (c + d + e)/(1 + 2*x + y) - (f + g)/(x + y) == 0

In[36}
Timing[sols = Solve[{eq1, eq2}, {x, y}];]
Out[36]
{52.437, Null}

A bit slow but it gives me the result I want. I then Simplify the 
solutions and evaluate them with a set of vectors of the constants 
{a,b,c,d,e,f,g}.

subs = {{a -> 45, b -> 79, c -> 4, d -> 11, e -> 8, f -> 0,   g -> 2}, 
{a -> 95, b -> 85, c -> 9, d -> 13, e -> 6, f -> 0,    g -> 1},
   {a -> 18, b -> 45, c -> 0, d -> 1, e -> 2, f -> 0, g -> 0}, {a -> 50, 
b -> 41, c -> 0, d -> 1, e -> 0, f -> 0, g -> 0},
   {a -> 17, b -> 61, c -> 1, d -> 9, e -> 14, f -> 0, g -> 1}, {a -> 
68, b -> 60, c -> 10, d -> 7, e -> 3, f -> 2, g -> 0},
   {a -> 42, b -> 90, c -> 5, d -> 29, e -> 49, f -> 6, g -> 17}, {a -> 
140, b -> 108, c -> 23, d -> 32, e -> 19, f -> 16, g -> 8}}

nsols = Simplify[RootReduce[sols /. subs]]

N[%]

giving me the answers I want

{{{y -> -2.18473, x -> 2.02599}, {y -> -0.0457403, x -> -0.53058}, {y -> 
2.72299, x -> 1.70867}}, {{y -> -1.05434, x -> 1.00657}, {y -> 
-0.0244319, x -> -0.536953},
{y -> 0.83139, x -> 0.871734}}, {{y -> -2.66667, x -> 2.66667}, {y -> 
-0.0183209, x -> -0.50458}, {y -> 12.1294, x -> 2.53236}}, {{y -> -0.84, 
x -> 0.84},
  {y -> 0., x -> -0.503749}, {y -> 0., x -> 0.833749}}, {{y -> -4.83381, 
x -> 4.69898}, {y -> -0.100097, x -> -0.530885}, {y -> 12.0561, x -> 
3.63746}}, {{y -> -1.05985,
    x -> 0.917926}, {y -> -0.014617, x -> -0.542283}, {y -> 0.351798, x 
-> 0.797433}}, {{y -> -4.52487, x -> 3.85637}, {y -> -0.240225, x -> 
-0.548865}, {y -> 7.61935, x -> 2.24569}},
{{y -> -1.46526, x -> 1.07904}, {y -> -0.0612374, x -> -0.561339}, {y -> 
0.684794, x -> 0.770645}}}

In Mathematica 8.0 this process hangs at the Solve command. I was forced 
to abort the evaluation after more than an hour with no result. The 
program seems to use only 25% of the available cpu (i.e. 1 of the 4 
available in the quadcore) and never arrives at a result. I thought that 
equation solving was much improved in the new version, so what is going on?

Perhaps there is a much better way to get the results I want. I need to 
evaluate the solutions to the above equations for large numbers of data 
vectors. I would appreciate any suggestions. Thanks in advance.

LP





  • Prev by Date: Re: MathLink - Linux - Calling the Kernel from External Program - undefined reference to `shm_open'
  • Next by Date: Re: /. Hold -> Identity (Was: One more rules + ev<>rol problem)
  • Previous by thread: Re: Finding local maxima in multidimensional array (efficiently)
  • Next by thread: Re: Problems with Mathematica 8.0 Solve