Hi Burcin, Michael, Simon,

Please let me explain the current non-commutative Singular
conventions:
1. the only way to create a G-algebra is to endow a commutative
polynomial ring (NOT a qring!) with a non-commutative structure
2. in order to create a GR-algebra:
 compute two-sided GB in G-algebra and use it to define a factor
ring.

{{{
// example Singular script:
// 1:
ring r;
def g=nc_algebra(-1,0); setring g;
g;
// 2:
ideal q=twostd(ideal(x^2, y^2, z^2));
qring gr = q;
gr; // exterior algebra in x,y,z
x*x; // gives 0: since gr is internally a SCA
}}}

Therefore the only "legal" steps are:
A. define G-algebra (using matrices C & D) (see jjPlural_mat_mat in
iparith.cc)
B. compute a two-sided(!) GB there (see jjTWOSTD in iparith.cc)
(the standard "std" command computes a left (!) GB in non-commutative
case)
C. create non-commutative factor ring (see jiA_QRING in ipassign.cc)
(factors of GR-algebras are allowed)

Special multiplicative structure (e.g. supercommutative) will be
automatically detected in A. & C.  whereas forcefully calling the
internal API (e.g. sca_*) is prone of subtle side effects.

Cheers,
Oleksandr


On Sep 4, 3:52 pm, Burcin Erocal <bur...@erocal.org> wrote:
> On Fri, 4 Sep 2009 05:54:08 -0700 (PDT)
>
>
>
> Simon King <simon.k...@nuigalway.ie> wrote:
>
> > Hi Burcin, Hi Michael,
>
> > On Sep 4, 1:23 pm, Burcin Erocal <bur...@erocal.org> wrote:
> > [...]
> > > Do you mean the Letterplace (why do they capitalize the names of
> > > these things?!?) extension [1] ?
>
> > > [1]http://www.singular.uni-kl.de/Manual/latest/sing_425.htm#SEC478
>
> > I think so. I didn't use it myself, but I heard it being mentioned in
> > conference talks.
>
> > > Unfortunately this requires giving more care and attention to the
> > > FreeAlgebra stuff in Sage than I have time for, so it will have to
> > > wait till someone else takes it up.
>
> > Well, Michael seemed to agree that Letterplace is of more experimental
> > character.
>
> > But certainly the G-algebra stuff in Singular (where the non-
> > commutativity is provided by two matrices) is mature enough, and I
> > understood from the previous posts that it is already more or less
> > wrapped, and we are talking about the interface.
>
> > Certainly,
> >   sage: A.<x,y,z>=FreeAlgebra(QQ,3)
> >   sage: G=A.g_algebra({y*x:-x*y})
> > is nice.
>
> > But what exactly is the input data? Would you allow general relations,
> > such as {y*x*y: -z+x*y}? Or must the keys of the dictionary be
> > monomials of degree 2, since otherwise you run into non-decidable
> > questions? In this case, I guess your interface is equivalent to
> > Singular's way of defining a G-algebra, but certainly nicer.
>
> You're right, it is equivalent to the G-algebras defined in Singular.
> Checking these conditions is one of the items on the list below. :)
>
> > 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. :)
>
>  - Check if the commutativity relations satisfy the conditions for a
>    G-algebra as defined here:
>
>    http://www.singular.uni-kl.de/Manual/latest/sing_420.htm#SEC461
>
>  - sort out coercion
>  - wrap various functions defined by Singular:
>    http://www.singular.uni-kl.de/Manual/latest/sing_390.htm#SEC431
>  - find a way to wrap the predefined structures here:
>    http://www.singular.uni-kl.de/Manual/latest/sing_538.htm#SEC591
>  - etc.
>
> Any volunteers?
>
> Cheers,
> Burcin

--~--~---------~--~----~------------~-------~--~----~
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