#17600: AsymptoticGrowthElement
-------------------------------------+-------------------------------------
       Reporter:  behackl            |        Owner:
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-6.9
      Component:  asymptotic         |   Resolution:
  expansions                         |    Merged in:
       Keywords:  asymptotics,       |    Reviewers:  Daniel Krenn
  gsoc2015                           |  Work issues:
        Authors:  Benjamin Hackl,    |       Commit:
  Daniel Krenn                       |  1ab1334c30e2f2c71c222d789f1e3b4430a17696
Report Upstream:  N/A                |     Stopgaps:
         Branch:                     |
  u/cheuberg/asy/growthGroup         |
   Dependencies:                     |
-------------------------------------+-------------------------------------
Changes (by cheuberg):

 * status:  needs_review => needs_work


Comment:

 Here is the remainder of my comments.
 - `GenericGrowthGroup._element_constructor_`: make clear that either
 `data` or `raw_element` has to be given; in the latter case, `data` has to
 be 0.
 - `GenericGrowthGroup._element_constructor_`: shouldn't the tests be
 marked as indirect doctests?
 - `GenericGrowthGroup._element_constructor_`: is there a particular reason
 for using `type(data) == self.element_class` in the second line and
 `isinstance(data, self.element_class)` in the fourth line of the code?
 - `GenericGrowthGroup.gens_monomial`: it is not clear what the difference
 between `gens` and `gens_monomial` should be.
 - `MonomialGrowthGroup.__classcall__`: The category parameter is not
 checked, but I can live with that:
 {{{
 sage: from sage.rings.asymptotic.growth_group import MonomialGrowthGroup
 sage: G1 = MonomialGrowthGroup(ZZ, 'x')
 sage: G2 = MonomialGrowthGroup(ZZ, 'x', category=Posets() & Groups())
 sage: G1 is G2
 False
 sage: G1.category() == G2.category()
 True
 }}}
 - `MonomialGrowthGroup.__init__`: Please include doctests for the two
 `ValueErrors`
 - `MonomialGrowthGroup._convert_`: I think that the error message on
 variable in a multivariate power series is not instructive in the
 following example, I'd prefer to see "Cannot convert 2" as in `G(2)`
 below.
 {{{
 sage: from sage.rings.asymptotic.growth_group import MonomialGrowthGroup
 sage: G = MonomialGrowthGroup(ZZ, 'x')
 sage: R.<x, y> = PowerSeriesRing(ZZ, ['x', 'y'])
 sage: R(2).variables()
 ()
 sage: G(R(2))
 Traceback (most recent call last):
 ...
 NotImplementedError: variable not defined for multivariate power series;
 use 'variables' instead.
 sage: G(2)
 Traceback (most recent call last):
 ...
 ValueError: Cannot convert 2.
 }}}
 - `MonomialGrowthGroup.gens_monomial`: Is this method needed? See the
 example:
 {{{
 sage: from sage.rings.asymptotic.growth_group import MonomialGrowthGroup
 sage: MonomialGrowthGroup(ZZ, 'log(x)').gens_monomial()
 ()
 sage: MonomialGrowthGroup(ZZ, 'exp(x)').gens_monomial()
 (exp(x),)
 }}}
 - `MonomialGrowthGroup.gens`: cf. `gens_monomial`: I'd move "even if the
 growth group is logarithmic" from `gens` to `gens_monomial` as "except if
 the growth group is logarithmic"
 - `parent_to_repr_short`: Rewrite INPUT section to standard format

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