OK, I'll rewrite it as suggested by WIlliam.  Now, isn't there a
better place to put it than sage.rings.arith?  Somewhere in (finite)
(abelian) groups?

There may also need to be parameters allowed the creation of the
identity, and inverses (my implementation certainly subtracts
elements).

John

On 13/02/2008, William Stein <[EMAIL PROTECTED]> wrote:
>
> On Feb 13, 2008 9:57 AM, Nick Alexander <[EMAIL PROTECTED]> wrote:
> >
> >
> > On 13-Feb-08, at 6:06 AM, John Cremona wrote:
> >
> > >
> > > I just discovered sage.rings.arith.discrete_log_generic(), not until
> > > after implementing a similar function for elliptic curves over finite
> > > fields (patch to be submitted before too long).  I thought it was a
> > > pity that we cannot apparently use the same code for dlogs in an
> > > additive group (as in what I just wrote) and a multiplcative one (as
> > > in discrete_log_generic()).  Could we?
> >
> > At this time, not easily.
>
> I think it would be trivial.  Just pass in a function of two arguments called
> "mul" instead of using "*".   It's the same way Python's sort works.
> (One should probably also pass in a pow function.)
>
> > Some of the categorical work initiated at
> > SD7 could help with this.  The relevant instigator is Nicholas Thiery
> > and the implementors are, at this time, Robert Bradshaw, David Roe,
> > and Mike Hansen.  (Apologies if I added/dropped anyone.)
>
> That sort of complicated stuff would only be necessary maybe for
> efficiency reasons -- but then you shouldn't be using a generic
> algorithm.
>
> >
> > > Also, in the code for sage.rings.arith.discrete_log_generic(), which I
> > > see was written by WIlliam and David Joyner in prehistoric times
> > > (2005-01-05 must be before the first ever reease of Sage!)  there is
> > > an inefficiency in using an array for g instead of a dict.  Shall I
> > > write a patch for that?
> >
> > Please do.
>
> Yes, please.  That was before I knew about some tricks like that....
>
> >
> > >
> >
>
>
>
> --
> William Stein
> Associate Professor of Mathematics
> University of Washington
> http://wstein.org
>
> >
>


-- 
John Cremona

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

Reply via email to