#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.