1 | initial version |
This is because range
spits out Python integers, and not Sage integers.
Python integers are "machine integers", that are designed to be fast, but can only be used for standard operations, and don't know about the rich structure of the ring of integers.
You could use srange
, which works like range
but gives you Sage integers.
If you use range
, then use ZZ(number).is_prime()
to first convert the numbers
to integers before applying the .is_prime()
method.
What is_prime(number)
does is to try and apply the .is_range()
method
if it is available, and otherwise first convert the number to a Sage integer,
then apply the .is_range()
method.
2 | No.2 Revision |
This is because range
spits out Python integers, and not Sage integers.
Python integers are "machine integers", that are designed to be fast, but can only be used for standard operations, and don't know about the rich structure of the ring of integers.
You could use srange
, which works like range
but gives you Sage integers.
If you use range
, then use ZZ(number).is_prime()
to first convert the numbers
to integers before applying the .is_prime()
method.
What is_prime(number)
does is to try and apply the
method
if it is available, and otherwise first convert the number to a Sage integer,
then apply the .is_range().is_prime()
method..is_range().is_prime()