#17715: AsymptoticTerm
-------------------------------------+-------------------------------------
       Reporter:  behackl            |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.9
      Component:  asymptotic         |   Resolution:
  expansions                         |    Merged in:
       Keywords:  asymptotics,       |    Reviewers:  Daniel Krenn, Clemens
  gsoc15                             |  Heuberger
        Authors:  Benjamin Hackl     |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  abc6a16771d308e14b167110de8980de680ca53b
  u/behackl/asy/asymptoticTerm       |     Stopgaps:
   Dependencies:  #17600, #18930,    |
  #19237                             |
-------------------------------------+-------------------------------------
Changes (by behackl):

 * status:  needs_info => needs_review
 * commit:  b22a24b09af01226e100bdb69847495e806e1c53 =>
     abc6a16771d308e14b167110de8980de680ca53b
 * branch:  u/cheuberg/asy/asymptoticTerm => u/behackl/asy/asymptoticTerm


Comment:

 Replying to [comment:40 cheuberg]:
 > Replying to [comment:38 behackl]:
 > > In fact, we only need the comparison of the underlying growth. I've
 deleted `TermWithCoefficient._le_` and rewritten the documentation of
 `GenericTerm.__le__` and `GenericTerm._le_` in order to reflect that.
 > >
 > > As this is--as you already said--a rather technical class, I think
 that it can be justified if `<=` only compares growth. However, if we
 follow this approach, then `x <= 2*x` and `2*x <= x` would both yield
 `True`, but `x == 2*x` would be false (because as far as I can remember,
 we need `==` to actually check if the coefficients are the same too,
 somewhere in the `AsymptoticRing`). Any thoughts?
 >
 > First, I do not know what the next tickets want to see, whether `<=` has
 to be antisymmetric or not.
 > On the other hand, elements of equal growth will always absorb each
 other and not be elements of the same asymptotic expansion, anyway?
 >

 I agree, once again. We should preserve that `<=` is antisymmetric, and I
 propose the following:
 - For terms **without** coefficient, we simply compare the growth with
 `<=` like we do now.
 - For terms **with** coefficient, we check if `term1.growth < term.growth`
 (still like above), and in case we have `term1.growth == term2.growth`, we
 return `True` if and only if the terms are the same, i.e. if the
 coefficient coincides. Otherwise, the terms are incomparable.

 I've added this, as well as a short note in the module description how
 terms are compared.

 > Second, where is the implementation of equality of growth terms?
 >
 > If in doubt, I would say that `x` and `2x` are incomparable in order to
 save antisymmetry.

 Ah! These did not exist on this ticket -- I have added them as well, as
 they logically belong here.

 >
 > Apart from that, I reviewed your changes, added a few reviewer commits
 (please cross-review).

 I reviewed your changes, and added the points from above (please cross-
 review again `:-)`).

 Benjamin
 ----
 Last 10 new commits:
 
||[http://git.sagemath.org/sage.git/commit/?id=ad0754cf8c845f51bed2827f5641ce5b01d61c4b
 ad0754c]||{{{shifted documentation of absorption towards module
 description}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=0eaa472e85359ade739d459b7f294d35b7a977bf
 0eaa472]||{{{remark regarding keyword check in GenericTerm.absorb}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=67a73cabf434ab2d6642db0b9e5e8eeec9767feb
 67a73ca]||{{{improved some doctests}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=fe906ca483c84201b91a98dd41629c091c3ba46c
 fe906ca]||{{{reintroduce _le_ for TermWithCoefficient}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=5cb54ae52b4c2f2b267e92265706c21eae43785c
 5cb54ae]||{{{equality comparison for terms}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=14e3e6333f2977678b4911dddc2dc47da85534a7
 14e3e63]||{{{improve documentation: information on comparison}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=ce7e2a379d666b4ff51fd5ed5de84229a27e861d
 ce7e2a3]||{{{Trac #17715: avoid the use of repr in doctest}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=7b29b28553796c9ca51f31ce74e66cef489d42e6
 7b29b28]||{{{Trac #17715: do not include "the" in internal link texts}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=b22a24b09af01226e100bdb69847495e806e1c53
 b22a24b]||{{{Trac #17715: Fix ReSt error}}}||
 
||[http://git.sagemath.org/sage.git/commit/?id=abc6a16771d308e14b167110de8980de680ca53b
 abc6a16]||{{{Merge branch 'u/cheuberg/asy/asymptoticTerm' of
 git://trac.sagemath.org/sage into asy/asymptoticTerm}}}||

--
Ticket URL: <http://trac.sagemath.org/ticket/17715#comment:41>
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