#18595: Big Oh terms and equality
--------------------------------------------+------------------------
       Reporter:  behackl                   |        Owner:
           Type:  defect                    |       Status:  new
       Priority:  major                     |    Milestone:  sage-6.8
      Component:  commutative algebra       |   Resolution:
       Keywords:  powerseries, asymptotics  |    Merged in:
        Authors:                            |    Reviewers:
Report Upstream:  N/A                       |  Work issues:
         Branch:                            |       Commit:
   Dependencies:                            |     Stopgaps:
--------------------------------------------+------------------------

Comment (by nbruin):

 Replying to [comment:3 behackl]:
 > I'll probably have to provide some more context. When I'm thinking of
 O-notation, I have http://en.wikipedia.org/wiki/Big_O_notation#Equals_sign
 in mind, that is I think of `O(f(x))` as the class of functions `g(x)`
 such that `|g(x)| <= C |f(x)|` holds for `x -> oo`. By abuse of notation,
 `g(x) = O(f(x))` then actually means `g(x) \in O(f(x))` -- and this leads
 to the problem that I do not agree with

 Yes, I don't think that's a very useful way of thinking about the big-oh
 used for power series approximations, and not the one that comes naturally
 from their algebra. If anything, the big-oh is with respect to limits for
 x->0 when applicable, although actual convergence is irrelevant for formal
 power series arithmetic -- there's no problem taking power series with
 coefficients over finite fields, for instance. What kind of limit would
 you be taking?

 With that limit interpretation, we see that O(x^2^) would consist of all
 those power series (ignoring convergence issues) for which lim_{x->0}
 f(x)/x^2^ is finite. That would include 0.

 > {{{
 > sage: RIF(0).is_zero()
 > True
 > sage: RIF((-0.1, 0.1)).is_zero()
 > False
 > }}}
 > This is more like the behavior I would expect from `O(x).is_zero()`.
 What do you think?

 That's a very good parallel and it is exactly the behaviour we have. If
 you want to do it using calculus-type limits, you should consider
 lim_{x->0}, though.

 Algebraically, you get a much nicer definition. There `ZZ[[x]] =
 limproj_{n->oo} Z[x]/(x^n)` and O(x^n^) can then be identified with the
 kernel of the homomorphism `ZZ[[x]]-> Z[x]/(x^n)`. If you're not already
 familiar with projective limits you might have to do some reading to get
 familiar with them and if you're not interested in the underlying
 algebraic theory you might not find it particularly enlightening to do so.

--
Ticket URL: <http://trac.sagemath.org/ticket/18595#comment:4>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to