You'd write it like this:

sage: sage.rings.polynomial.toy_buchberger.buchberger??

    G = set(F.gens())
    B = set(filter(lambda (x,y): x!=y, [(g1,g2) for g1 in G for g2 in G]))

    while B!=set():
        g1,g2 = select(B)
        B.remove( (g1,g2) )

        h = spol(g1,g2).reduce(G)
        if h != 0:
            B = B.union( [(g,h) for g in G] )
            G.add( h )

    if get_verbose() >= 1:
        print "%d reductions to zero."%(reductions_to_zero)

    return Sequence(G)

:)

On Tuesday 18 Mar 2014 14:07:23 etienne mann wrote:
> I want to program the Buchberger algo to compute a grobner basis. I know it
> is already in sage but for my students, I want them to rewrite it.
> The loop is something like
>     repeat:
>         S=[];
>         for i in range(1,len(G)):
>             for j in range(1,len(G)):
>                 r= AlgoDivision(SPolynomial(G[i],G[j]),G)[2];
>                 if not(r==0):
>                     Append(~S,r)
>         G=G + S;
>     until S==[];
> 
> Le mardi 18 mars 2014 22:01:17 UTC+1, projetmbc a écrit :
> > Hello,
> > you have to learn Python a little before using Sage.
> > 
> > In Python you just have while and for loops.
> > 
> > What kind of repeat loop do you want to do ?
> > 
> > Christophe BAL
> > 
> > 
> > 2014-03-18 21:57 GMT+01:00 etienne mann <[email protected] <javascript:>
> > 
> >> Hi,
> >> 
> >> I did not find a reference for programing a repeat loop in sage?
> >> Of course, I can also use a while loop but it seems strange that there is
> >> no repeat loop :)
> >> 
> >> thx for a clue
> >> Etienne

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" 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 http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to