On Fri, Feb 5, 2016 at 11:24 AM, Bruno Grenet <bruno.gre...@gmail.com> wrote:
> Note that there is a difference between the example in the original email
> and the answers: The original email was about is_prime(something) not
> something.is_prime(). I do not know the mechanisms behind
> is_prime(something) but would it be possible that in this case the behavior
> is slightly different, say that the input is coerced to ZZ if possible? It
> would be more user friendly I guess.

-1 to (2/1).is_prime() != is_prime(2/1).  That just seems like a way
to increase confusion even further.

> Bruno
>
>
> On 5 février 2016 19:59:53 HNEC, William Stein <wst...@gmail.com> wrote:
>>
>>
>>
>> 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> 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.
>>>> 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.
>>>
>>>
>>> --
>>> 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.
>>
>>
> --
> 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.



-- 
William (http://wstein.org)

-- 
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.

Reply via email to