#19083: AsymptoticRing: exp & log, cleanup, some improvements, documentation
-------------------------------------+-------------------------------------
       Reporter:  dkrenn             |        Owner:
           Type:  enhancement        |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.10
      Component:  asymptotic         |   Resolution:
  expansions                         |    Merged in:
       Keywords:                     |    Reviewers:  Daniel Krenn, Clemens
        Authors:  Benjamin Hackl,    |  Heuberger
  Daniel Krenn                       |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  3fdb4dcee28c67dd076a6552580c8ab15811924a
  u/dkrenn/asy/prototype             |     Stopgaps:
   Dependencies:  #19073             |
-------------------------------------+-------------------------------------

Comment (by dkrenn):

 Replying to [comment:64 cheuberg]:
 > 19. Why does a `TermMonoid` with `O` need a coefficient ring?

 To make it clear and explicit which parts of an expression are allowed to
 be eaten up by the O-Term. For example, having a symbolic `x*y` and `R =
 AsymptoticRing('x^ZZ', QQ), then `O(x*y)` should not silently be possible
 in `R`.

 > 20. `GenericTerm._calculate_pow_test_zero_`: Is it possible to replace
 the error message "Cannot take Generic Term with growth z to exponent -2"
 by something which is not dependent on the very special interpretation of
 this very special method?

 The method does what it claims to do. Thus I am for keeping it as it is.

 > 21. `GenericTerm.log_term`: remove first note box, as it is a
 `NotImplementedError` anyway?

 Removed.

 > 22. `GenericTermMonoid.__classcall__`: Test all errors.

 Are tested now.

 > 23. `GenericTermMonoid._coerce_map_from_`: The code requires that the
 coefficient ring of `S` coerces into the coefficient ring of `self`, which
 is good, but it should be documented and tested.

 Extended doc.

 > 24. `GenericTermMonoid._create_element_via_parent_`: See comment 8.

 Done.

 > 25. `GenericTermMonoid._split_growth_and_coefficient_`: I'd appreciate
 having more doctests here, e.g. actually having a product of growth
 groups, several factors of the coefficient (e.g., in the symbolic ring),
 testing the error message.

 Added.

 > 26. `GenericTermMonoid._get_factors_`: This does not work when the input
 is an element of a multivariate polynomial ring. [...]
 >       If this cannot be fixed easily, a new ticket should be devoted to
 that.

 #19421.

 > 27. `GenericTermMonoid.__pow__`:
 >       - there is the implicit assumption that `0 = O(g)` for any `g` in
 the growth group. This is certainly a valid assumption in the classical
 case of a variable going to infinity in the reals or in the complex
 numbers. However, it is not clear to me what non-standard asymptotics
 might be handeled by this module, e.g., `p`-adic valuations or things like
 that. So perhaps this should somehow be documented.

 I've added a note in the source code.

 >       - test error message coming from `_calculate_pow_test_zero_`.

 Test added.

 > 28. `OTermMonoid._create_element_`: test error

 Added doctest.

 > 29. `TermWithCoefficient._calculate_pow_`:
 >       - broken link to {{{:meth:`__pow__`}}}

 Fixed.

 >       - test `ArithmeticError`

 Tested.

 >       - I do not like the broken semantics that the coefficient is taken
 to a power in `TermWithCoefficient._calculate_pow_`, but not in
 `GenericTerm._calculate_pow_`.

 I've renamed `coefficient` to `new_coefficient` to make the difference
 between the methods clearer.

 > 30. `TermMonoidFactory`:
 >       - documentation should mention that `TermMonoid` is an instance of
 `TermMonoidFactory`.

 Note block added and docstring to instances added as well.

 >       - test parameter `asymptotic_ring`

 Tests added.

 >       - test case that `term` is a `GenericTermMonoid`

 Tests added.

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