On Friday, February 5, 2016, David Roe <roed.m...@gmail.com> wrote: > > > On Fri, Feb 5, 2016 at 1:20 PM, Vincent Delecroix < > 20100.delecr...@gmail.com > <javascript:_e(%7B%7D,'cvml','20100.delecr...@gmail.com');>> wrote: > >> Hello, >> >> Indeed, the definition given in the documentation of "is_prime" does not >> coincide with what the method is doing. >> >> The mathematical definition of prime *depends* on the ring. An element of >> a ring is prime if the ideal it generates is prime. And the ideal (3) is >> prime in ZZ but not in QQ. A less stupid example >> >> sage: K = ZZ[I] >> sage: K(3).is_prime() >> True >> sage: K(5).is_prime() >> False >> >> The Sage behavior of the function is_prime is perfectly coherent with >> respect to this definition. >> >> I would rather make a patch to modify the documentation and warns the >> user about the difference between prime element in a ring and prime number. > > > +1 > David >
Maybe is_prime for field elements should just raise an exception? > >> >> Vincent >> >> >> On 05/02/16 14:50, David Wong wrote: >> >>> prime_number = bignumber / 2 >>> is_prime(prime_number) # -> False >>> >>> prime_number = bignumber // 2 >>> is_prime(prime_number) # -> True >>> >>> prime_number = ZZ(bignumber / 2) >>> is_prime(prime_number) # -> True >>> >>> >>> I've spent a couple of days arguing with people about a number (not) >>> being >>> a prime. Turns out it fails silently if you're in the wrong field. >>> >>> I guess a fix would be to ZZ() the number first in the function is_prime. >>> If you guys agree I can submit a patch or something (never touched at >>> Sage's codebase and that would be a good opportunity) >>> >>> David >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "sage-devel" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to sage-devel+unsubscr...@googlegroups.com >> <javascript:_e(%7B%7D,'cvml','sage-devel%2bunsubscr...@googlegroups.com');> >> . >> To post to this group, send email to sage-devel@googlegroups.com >> <javascript:_e(%7B%7D,'cvml','sage-devel@googlegroups.com');>. >> Visit this group at https://groups.google.com/group/sage-devel. >> For more options, visit https://groups.google.com/d/optout. >> > > -- > You received this message because you are subscribed to the Google Groups > "sage-devel" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sage-devel+unsubscr...@googlegroups.com > <javascript:_e(%7B%7D,'cvml','sage-devel%2bunsubscr...@googlegroups.com');> > . > To post to this group, send email to sage-devel@googlegroups.com > <javascript:_e(%7B%7D,'cvml','sage-devel@googlegroups.com');>. > Visit this group at https://groups.google.com/group/sage-devel. > For more options, visit https://groups.google.com/d/optout. > -- Sent from my massive iPhone 6 plus. -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.