Re: Problem with Solve and O[x]

*To*: mathgroup at christensen.cybernetics.net*Subject*: [mg1261] Re: Problem with Solve and O[x]*From*: rolfm at rulgm4.LeidenUniv.nl (Rolf Mertig)*Date*: Mon, 29 May 1995 03:18:51 -0400*Organization*: Leiden University, The Netherlands

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