#4539: plural wrapper
---------------------------+------------------------------------------------
Reporter: burcin | Owner: OleksandrMotsak, AlexanderDreyer
Type: enhancement | Status: needs_review
Priority: major | Milestone: sage-4.7.2
Component: algebra | Keywords: libsingular plural wrapper sd10
sd23.5 sd24 sd34
Work_issues: | Upstream: N/A
Reviewer: Simon King | Author: Michael Brickenstein, Burcin
Erocal, Oleksandr Motsak, Alexander Dreyer, Simon King
Merged: | Dependencies: #11068 #11316 #11856
---------------------------+------------------------------------------------
Changes (by newvalueoldvalue):
* status: needs_work => needs_review
* reviewer: => Simon King
* work_issues: doc tests =>
* author: => Michael Brickenstein, Burcin Erocal, Oleksandr Motsak,
Alexander Dreyer, Simon King
Old description:
> During SD10 in Nancy, Michael Brickenstein and Burcin Erocal worked on
> making Plural (the non-commutative extension of Singular) accessible from
> Sage. Burcin and Michael also worked at the Plural wrapper on SD 23.5 in
> Kaiserslautern. Oleksandr Motsak and Alexander Dreyer continued this at
> SD 24 in Linz.
>
> The patches that resulted from this work are attached.
>
> Newest functionality:
>
> * non-commutative rings/polynomials/ideals are fully featured classes
> now (no deriving from commutative ones)!
> * coercion from basering/Integer types (still needs tests)
> * flag to check degeneracy conditions on init
> * relations for non-commutative rings
> * most relevant functions for rings/polynomials/ideals (mostly adopted
> from MPolynomialRing_libsingular/MPolynomialRing_libsingular/...) e.g.
> std/twostd/syzygy_module/lc/lm/lt/monomial operations
> * RingWrap and TermOrder were extended
> * quick and dirty conversion of RingWrap to Sage rings (needs some care
> as the resulting rings may not be unique and therefore may confuse
> coercion)
> * quotient of a non-commutative ring by a two-sided Groebner basis
> * shortcut to create graded commutative algebras: SCA
>
> Possible topics that need work are:
>
> * put the files in sage/algebra/ ???
> * make sure element does not export functions it doesn't support (e.g.
> gcd)
> * predefined structures from the library
>
> '''__Apply__'''
>
> * [attachment:trac4539_libplural.patch]
> * [attachment:trac4539_pickling.patch]
> * [attachment:trac4539_normal_forms.patch]
New description:
During SD10 in Nancy, Michael Brickenstein and Burcin Erocal worked on
making Plural (the non-commutative extension of Singular) accessible from
Sage. Burcin and Michael also worked at the Plural wrapper on SD 23.5 in
Kaiserslautern. Oleksandr Motsak and Alexander Dreyer continued this at SD
24 in Linz.
The patches that resulted from this work are attached.
Newest functionality:
* non-commutative rings/polynomials/ideals are fully featured classes now
(no deriving from commutative ones)!
* coercion from basering/Integer types (still needs tests)
* flag to check degeneracy conditions on init
* relations for non-commutative rings
* most relevant functions for rings/polynomials/ideals (mostly adopted
from MPolynomialRing_libsingular/MPolynomialRing_libsingular/...) e.g.
std/twostd/syzygy_module/lc/lm/lt/monomial operations
* RingWrap and TermOrder were extended
* quick and dirty conversion of RingWrap to Sage rings (needs some care
as the resulting rings may not be unique and therefore may confuse
coercion)
* quotient of a non-commutative ring by a two-sided Groebner basis
* shortcut to create graded commutative algebras: SCA
Possible topics that need work are:
* put the files in sage/algebra/ ???
* make sure element does not export functions it doesn't support (e.g.
gcd)
* predefined structures from the library
'''__Apply__'''
* [attachment:trac4539_libplural.patch]
* [attachment:trac4539_pickling.patch]
* [attachment:trac4539_normal_forms.patch]
* [attachment:trac4539_fix_docs.patch]
--
Comment:
The fourth patch does not provide a new feature, but only fixes of bugs,
of the doc string formatting, and of the doc tests.
Since I do not have Sage locally, I'd appreciate if one of you could build
the documentation and see if it looks nice.
Not a feature, but a fix concerns the hash: If one constructs a g-algebra
as one is supposed to (`g_algeba` method resp. unique factory) then the
g-algebra is a unique parent. Hence, `id(self)` is a good hash for it, and
`__cmp__` can be removed.
Note that the hash in Sage is allowed to change from session to session,
so, `id(self)` is fine - see `UniqueRepresentation.__hash__`. Of course,
one can destroy the uniqueness on purpose, but that's not our problem.
Tests in sage/libs/singular, multi_polynomial_ideal.py and plural.pyx
pass. I am now running all doc tests, but I think it is OK to put it as
"needs review".
Concerning review: I think we should review each other's code. So, in
particular, one of you should please review my last three patches.
Please verify if I got the credits (author list) right.
Apply trac4539_libplural.patch trac4539_pickling.patch
trac4539_normal_forms.patch trac4539_fix_docs.patch
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4539#comment:81>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.