Hi, On Sun, May 31, 2009 at 3:34 PM, wkehowski <wkehow...@cox.net> wrote: > > Hello, > > I would like to take a create a function that takes a polynomial over > the integers and returns its roots in ZZ mod p for p a prime. I want > to assume the polynomial is globally defined but the prime is the > argument. > > Here is what I have in mind but can't quite get the types right. > > x = var('x') #necessary? > > poly=x^2+x+1 > > def myroots(p): > R=IntegerModRing(p) > RR.<t>=R[] > f=poly.substitute(x=t) #coercion here > return f.roots(R) > > How do I convert or coerce poly to be in R? >
Here is one option: def myroots(p): R = IntegerModRing(p) RR.<t> = R[] f = poly(x=t) return f.roots(R) Best, Alex -- Alex Ghitza -- Lecturer in Mathematics -- The University of Melbourne -- Australia -- http://www.ms.unimelb.edu.au/~aghitza/ --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---