MathGroup Archive 1995

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

Search the Archive

Re: Problem with Solve and O[x]


Steve Trainoff (steve at tweedledee.ucsb.edu) wrote:
> It appears the Solve and O[x] don't mix.  Consider the following.

> Mathematica 2.0 for NeXT
> Copyright 1988-91 Wolfram Research, Inc.

> In[1]:= Solve[x+z==1,x]

> Out[1]= {{x -> 1 - z}}

> In[2]:= Solve[x+z==1+O[z],x]

> Out[2]= {{x -> 1}}	(* I would prefer x -> 1 + O[z] *)

> In[3]:= Solve[x+z==1+O[z]^2,x]

> Out[3]= {}		(* What is wrong with x -> 1 + z + O[z]^2 ??? *)

> --

> ..STeve
> ------------------------------------
> Insert pithy maxim here...
> steve at tweedledee.ucsb.edu (NeXT mail)

In[1]:= Solve2[y__]:=Block[{d},Apply[Solve,{y}/.SeriesData->d]/.d->SeriesData]

In[2]:= Solve2[x+z==1+O[z],x]

Out[2]= {{x -> 1 + O[z]}}

In[3]:= Solve2[x+z==1+O[z]^2,x]

                           2
Out[3]= {{x -> 1 - z + O[z] }}


Like in every more complicated system some things don't work as one
expects in Mathematica (besides the usual bugs there are just more
potential uses than originally imagined and thought of by the makers).

The nice thing about the better systems (like Mathematica) is that 
one can usually write (sometimes short, sometimes long)
straightforward work-arounds (eventually some exegetic study of 
the manual might be necessary).

In fact, there should be a server (or WWW-page?) (not mathsource,
it's very full) where people can 
up- and down-load different work-arounds for different functions ( I have stuff
like Cases2, Coefficient2, Collect2, Expand2, Factor2, FactorTerms2,
FreeQ2, Series2, Write2, Zeta2 ).

Rolf





  • Prev by Date: Summary: equating a variable with its value
  • Next by Date: Strange behavior of Polygon...
  • Previous by thread: Re: Problem with Solve and O[x]
  • Next by thread: strings into lists