Hi Burcin!

On Sep 4, 2:52 pm, Burcin Erocal <bur...@erocal.org> wrote:
[...]
> > Since there ishttp://trac.sagemath.org/sage_trac/ticket/4539and it
> > says "need work": What exactly is needed to do? Is it just a decision
> > about the interface? In that case, I am +1 to your suggestion!
>
> No, unfortunately it's not that easy.
>
>  - We just subclassed MPolynomialRing_libsingular to create the ring
>    then, elements are instances of MPolynomial_libsingular. These
>    inherit from CommutativeRing and CommutativeRingElement
>    respectively. :)
>
>    One would have to create new classes for the elements and the parent
>    in the appropriate place of the hierarchy. Refactoring the
>    libSingular calls in the above classes helps tremendously here. :)

I am not sure what you mean.

Certainly I don't know enough about the Singular internals. So far my
impression was that Singular/Plural has two data types /
implementations of non-commutative rings: One for SuperCommutative
rings and one for general G-algebras. And I thought that both somehow
rely on the commutative rings, internally.

So, do you re-implement Singular/Plural nc-algorithms (subclassing
MPolynomialRing_libsingular and building on top of it), or are you
directly wrapping Singular/Plural data types?

Or was your statement about how Sage's G-algebras should fit into the
hierarchy of algebras? Then the following seems to make sense to me:

* Ring(ParentWithGens)
    * CommutativeRing(Ring)
        * CommutativeAlgebra(CommutativeRing)
    * Algebra(Ring)
        * PolynomialRing_general(Algebra)
            * GAlgebra(PolynomialRing_general) # new
                * GAlgebra_libsingular(GAlgebra)  # new
                * PolynomialRing_supercommutative(G_Algebra) # new
                  # (perhaps with a _libsingular subclass)
                * PolynomialRing_commutative(GAlgebra,
CommutativeAlgebra)
                  # this currently is (PolynomialRing_general,
CommutativeAlgebra)
                    * MPolynomialRing_libsingular etc.

Cheers,
Simon

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to