On Jan 28, 2010, at 11:14 AM, Martin Rubey wrote:
Mike Hansen <mhan...@gmail.com> writes:
I'm not sure whether you saw my answer yet... It shows that you
can have
full evaluation (as in Python), and still work modulo n.
William was just saying that the mod function in
mod(2^(2^517)+1,84977118993*2^520+1) couldn't easily recognize of the
structure in the arguments since they are evaluated before mod sees
them.
(I'd be surprised and disappointed if sage cannot do this.)
Here is your example in Sage:
sage: F = Integers(84977118993*2^520+1)
sage: F(2)^(2^517)+1
0
sage: F(2)^(2^516)+1
207830575673500686411447362595659393768941593937702880049854622986883156049131962664562951494983277006774963177214890291645066756995999343954972963541296782130435362337
precisely! thanks.
BTW: could you alternatively specify the expected return type? I.e.,
tell sage: please use those operations that make the result be in F?
No, as whenever one writes F(...), the ... is evaluated before passing
to F.
- Robert
--
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org