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