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: 3,010 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
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.