Why is_prime(6/3) results as False?
sage: (6/3).is_integer()
True
sage: (6/3).is_prime()
False
sage: (6/3).is_integer()
True
sage: (6/3).is_prime()
False
Note that the parent of 6/3
is the Rational Field
:
sage: a = 6/3
sage: a.parent()
Rational Field
So, when you write (6/3).is_prime()
, you ask whether 6/3
is prime as a rational number, not as an integer, see the documentation:
sage: a.is_prime?
A *prime* element is a non-zero, non-unit element p such that,
whenever p divides ab for some a and b, then p divides a or p
divides b.
So, since 6/3
is a unit in QQ
, the answer should be False
sage: a.is_unit()
True
sage: a.is_prime()
False
To see if 6/3
is prime as an integer, just do:
sage: ZZ(6/3).is_prime()
True
So, it is very important in mathematics and in Sage to know where your elements are living. For example the polynomial x^2-2
can not be factorized in $\mathbb{Q}[x]$, but it does in $\overline{\mathbb{Q}}[x]$:
sage: x = polygen(QQ)
sage: (x^2-2).is_irreducible()
True
sage: x = polygen(QQbar)
sage: (x^2-2).is_irreducible()
False
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2015-03-06 19:46:49 +0100
Seen: 2,463 times
Last updated: Mar 06 '15
how to get output in a mixed fraction?
latex(-(x-1)/(x+1)) still broken
How to Rationalize the Denominator of a Fraction ?
partial fraction decomposition function for multivariate rational expressions
divide numerator and denominator by certain value
eliminating fractions and roots from equations
Get a matrix to display answers as decimals/floats, not fraction?
Display decimal as a fraction?
how to run fraction elenment in Multivariate Polynomial Ring in over Finite Field ring