Services & Resources / Wolfram Forums
-----
 /
MathGroup Archive
2005
*January
*February
*March
*April
*May
*June
*July
*August
*September
*October
*November
*December
*Archive Index
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

MathGroup Archive 2005

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

Search the Archive

Re:Re: Solve Limitations

  • To: mathgroup at smc.vnet.net
  • Subject: [mg63103] Re:[mg62980] Re: [mg62963] Solve Limitations
  • From: "Marcelo Mayall" <mmayall at bol.com.br>
  • Date: Wed, 14 Dec 2005 04:36:04 -0500 (EST)
  • Sender: owner-wri-mathgroup at wolfram.com

> > Let's suppose that we are interested in the roots analytic 
> > expression of 
> > the following function: 
> > In[1] := f = a x + b x^(3/2) + c; 
> > The function Solve could be used: 
> > In[2] := sol = Solve[f==0, x]; 
> > Defining the values of the constants a, b, c would return the 
> > following numeric values: 
> > In[3] := froots = Solve[f==0, x]/. {a->1, b->1, c->1} //N 
> > Out[3] = {{x-> 2.1479}, {x-> -0.57395 + 0.368989 I}, {x-> -0.57395 
> > - 0.368989 I}} 
> > However, f is not null for those values and therefore, these are 
> > not the roots of f: 
> > In[4] := f/. froots/. {a-> 1, b-> 1, c-> 1} //Chop 
> > Out[4] = {6.2958, 0, 0} 
> > At first, it seems that the function Solve doesn't take 
> > appropriately in 
> > consideration the term in square root. 
> > Some idea to obtain the correct analytic solution of f ??? Or, in 
> > fact, this a limitation of the function Solve??? 
> > 
> > Thanks, 
> > Marcelo Mayall 
> > 
> > 
> 
> There is no way, in general, to avoid getting so called "parasite" 
> solutions in parametric equations with radicals. This is not a 
> limitation of Solve but of known mathematics. 
> 
> If your equation has numerical coefficients then the option 
> VerifySolutions->True will usually (but not always) insure that the 
> parasite solutions are eliminated. 
> 
> Andrzej Kozlowski 
> 
> 

Another simple case that could, a priori, exemplify the limitation of the
 Solve function: 
  
In[1] := Solve[x^0.5 + a x == 0, x]  
  
Out[1] {{x -> 0}, {x -> 1 / a^2}}  
  
However, the correct answer should have the following form:
If a >= 0,  {x -> 0}
If a < 0  , {{x -> 0}, {x -> 1 / a^2}}
It seems to me that, in this case, this is not a limitation of the known 
mathematics but a limitation of the algorithm of the Solve function.

Thanks,
Marcelo Mayall



  • Prev by Date: Re: Mathematica Programmer vs. Programming in Mathematica
  • Next by Date: Re: Re: Solve Limitations
  • Previous by thread: Re: Solve Limitations
  • Next by thread: Re: Re: Solve Limitations