Unique factorization domains¶
-
class
sage.categories.unique_factorization_domains.
UniqueFactorizationDomains
(s=None)¶ Bases:
sage.categories.category_singleton.Category_singleton
The category of unique factorization domains constructive unique factorization domains, i.e. where one can constructively factor members into a product of a finite number of irreducible elements
EXAMPLES:
sage: UniqueFactorizationDomains() Category of unique factorization domains sage: UniqueFactorizationDomains().super_categories() [Category of gcd domains]
-
class
ElementMethods
¶ Bases:
object
-
radical
(*args, **kwds)¶ Return the radical of this element, i.e. the product of its irreducible factors.
This default implementation calls
squarefree_decomposition
if available, andfactor
otherwise.See also
EXAMPLES:
sage: Pol.<x> = QQ[] sage: (x^2*(x-1)^3).radical() x^2 - x sage: pol = 37 * (x-1)^3 * (x-2)^2 * (x-1/3)^7 * (x-3/7) sage: pol.radical() 37*x^4 - 2923/21*x^3 + 1147/7*x^2 - 1517/21*x + 74/7 sage: Integer(10).radical() 10 sage: Integer(-100).radical() 10 sage: Integer(0).radical() Traceback (most recent call last): ... ArithmeticError: Radical of 0 not defined.
The next example shows how to compute the radical of a number, assuming no prime > 100000 has exponent > 1 in the factorization:
sage: n = 2^1000-1; n / radical(n, limit=100000) 125
-
squarefree_part
()¶ Return the square-free part of this element, i.e. the product of its irreducible factors appearing with odd multiplicity.
This default implementation calls
squarefree_decomposition
.See also
EXAMPLES:
sage: Pol.<x> = QQ[] sage: (x^2*(x-1)^3).squarefree_part() x - 1 sage: pol = 37 * (x-1)^3 * (x-2)^2 * (x-1/3)^7 * (x-3/7) sage: pol.squarefree_part() 37*x^3 - 1369/21*x^2 + 703/21*x - 37/7
-
-
class
ParentMethods
¶ Bases:
object
-
is_unique_factorization_domain
(proof=True)¶ Return True, since this in an object of the category of unique factorization domains.
EXAMPLES:
sage: Parent(QQ,category=UniqueFactorizationDomains()).is_unique_factorization_domain() True
-
-
additional_structure
()¶ Return whether
self
is a structure category.See also
The category of unique factorization domains does not define additional structure: a ring morphism between unique factorization domains is a unique factorization domain morphism.
EXAMPLES:
sage: UniqueFactorizationDomains().additional_structure()
-
super_categories
()¶ EXAMPLES:
sage: UniqueFactorizationDomains().super_categories() [Category of gcd domains]
-
class