Hi Victor,

On Jul 31, 3:59 pm, VictorMiller <victorsmil...@gmail.com> wrote:
> I was just looking at the code for multiplicative_order in
> finite_field_element.py, and noticed that it factors the group order,
> and find the "cofactors" corresponding to each prime power dividing
> the order (which is really the only algorithm that I know to do
> this).  To avoid repeating this calculation for elements of finite
> fields it would be nice if the finite field could cache this
> information, so that it wouldn't have to be recalculated.  The same
> remark should hold for finite abelian groups (since it's really the
> same algorithm).

Do you know the cached_method decorator? In order to cache the field
(or group) order, you just need to import the decorator by
   from sage.misc.cachefunc import cached_method
and then, right in front of the method definition, put @cached_method:

    @cached_method
    def multiplicative_order(FiniteField_givaroElement self):
        ...

Cheers,
    Simon


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send 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