#13215: Skew polynomials
-------------------------------------+-------------------------------------
       Reporter:  caruso             |        Owner:  tbd
           Type:  enhancement        |       Status:  needs_work
       Priority:  major              |    Milestone:  sage-7.3
      Component:  algebra            |   Resolution:
       Keywords:  skew polynomials   |    Merged in:
        Authors:  Xavier Caruso,     |    Reviewers:  Burcin Erocal, David
  Arpit Merchant, Johan Rosenkilde   |  Lucas, Travis Scrimshaw
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/arpitdm/skew_polynomials         |  6fb186ab4b9eedb41596053854996263e85c5fe7
   Dependencies:  #13214, #13303,    |     Stopgaps:
  #13640, #13641, #13642             |
-------------------------------------+-------------------------------------

Comment (by arpitdm):

 Replying to [comment:92 tscrim]:
 > - ''All'' methods and functions must have doctests (e.g., the one added
 to `map.pyx` and hidden methods). Also, I think you should remove the
 commented out code.
 I am still going over the methods to check whether there are any
 remaining. And I still have some commented code to remove.
 > - I would move most-to-all of the module-level doc to the user entry
 point and then have a `.. SEEALSO:: block referencing said doc`, so it is
 visible from the `?` on the command line. This also applies to the parent
 class(es?) (i.e. module-level to class-level).
 Could you please explain with an example maybe, what this means? Or maybe
 refer me to some method in some file from where I can read and understand.
 > - You should make `list` into a `cpdef` with an output type of `list`
 and remove `_list_c`.
 class `SkewPolynomial_general` inherits from class `SkewPolynomial`. The
 `_list_c` method is implemented in the former while in the latter it is
 not. Are you suggesting that I remove _list_c from both classes and only
 have a `cpdef list list(self)` in the latter class?
 > - For `__iter__`, just iterate over `self.__coeffs`. Actually, a similar
 statement applies to many other places you call `_list_c` where you don't
 expose it to the user or modify the list (e.g., `__getitem__` and
 `_richcmp_`. The multivariate and sparse versions should be overriding
 these methods anyways.
 There is no `__coeffs` attribute in class `SkewPolynomial` and it is
 actually defined in class `SkewPolynomial_general`. Is it Python
 convention to access from one class, an attribute with double leading
 underscores of another class? If so, what is the correct way of doing
 that?
 > - Actually, a number of functions that use `_list_c` should be moved to
 the concrete class (and maybe an `@abstract_method` placeholder done in
 the ABC.
 Could you please elaborate a little what you mean by this? I'm not sure I
 follow.

--
Ticket URL: <https://trac.sagemath.org/ticket/13215#comment:96>
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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to