Dedekind Domains¶
- class sage.categories.dedekind_domains.DedekindDomains[source]¶
Bases:
CategoryThe category of Dedekind domains.
A Dedekind domain is a Noetherian integral domain of Krull dimension one that is integrally closed in its field of fractions.
EXAMPLES:
sage: C = DedekindDomains(); C Category of Dedekind domains sage: C.super_categories() [Category of integral domains]
>>> from sage.all import * >>> C = DedekindDomains(); C Category of Dedekind domains >>> C.super_categories() [Category of integral domains]
- class ParentMethods[source]¶
Bases:
object- integral_closure()[source]¶
Return
selfsince Dedekind domains are integrally closed.EXAMPLES:
sage: # needs sage.rings.number_field sage: x = polygen(ZZ, 'x') sage: K = NumberField(x^2 + 1, 's') sage: OK = K.ring_of_integers() sage: OK.integral_closure() Gaussian Integers generated by s in Number Field in s with defining polynomial x^2 + 1 sage: OK.integral_closure() == OK True sage: QQ.integral_closure() == QQ True
>>> from sage.all import * >>> # needs sage.rings.number_field >>> x = polygen(ZZ, 'x') >>> K = NumberField(x**Integer(2) + Integer(1), 's') >>> OK = K.ring_of_integers() >>> OK.integral_closure() Gaussian Integers generated by s in Number Field in s with defining polynomial x^2 + 1 >>> OK.integral_closure() == OK True >>> QQ.integral_closure() == QQ True
- is_integrally_closed()[source]¶
Return
Truesince Dedekind domains are integrally closed.EXAMPLES:
The following are examples of Dedekind domains:
sage: ZZ.is_integrally_closed() True sage: x = polygen(ZZ, 'x') sage: K = NumberField(x^2 + 1, 's') # needs sage.rings.number_field sage: OK = K.ring_of_integers() # needs sage.rings.number_field sage: OK.is_integrally_closed() # needs sage.rings.number_field True
>>> from sage.all import * >>> ZZ.is_integrally_closed() True >>> x = polygen(ZZ, 'x') >>> K = NumberField(x**Integer(2) + Integer(1), 's') # needs sage.rings.number_field >>> OK = K.ring_of_integers() # needs sage.rings.number_field >>> OK.is_integrally_closed() # needs sage.rings.number_field True
These, however, are not Dedekind domains:
sage: QQ.is_integrally_closed() True sage: S = ZZ[sqrt(5)]; S.is_integrally_closed() # needs sage.rings.number_field sage.symbolic False sage: T.<x,y> = PolynomialRing(QQ, 2); T Multivariate Polynomial Ring in x, y over Rational Field sage: T.is_integral_domain() True
>>> from sage.all import * >>> QQ.is_integrally_closed() True >>> S = ZZ[sqrt(Integer(5))]; S.is_integrally_closed() # needs sage.rings.number_field sage.symbolic False >>> T = PolynomialRing(QQ, Integer(2), names=('x', 'y',)); (x, y,) = T._first_ngens(2); T Multivariate Polynomial Ring in x, y over Rational Field >>> T.is_integral_domain() True
- is_noetherian()[source]¶
Return
Truesince Dedekind domains are Noetherian.EXAMPLES:
The integers, \(\ZZ\), and rings of integers of number fields are Dedekind domains:
sage: ZZ.is_noetherian() True sage: x = polygen(ZZ, 'x') sage: K = NumberField(x^2 + 1, 's') # needs sage.rings.number_field sage: OK = K.ring_of_integers() # needs sage.rings.number_field sage: OK.is_noetherian() # needs sage.rings.number_field True sage: QQ.is_noetherian() True
>>> from sage.all import * >>> ZZ.is_noetherian() True >>> x = polygen(ZZ, 'x') >>> K = NumberField(x**Integer(2) + Integer(1), 's') # needs sage.rings.number_field >>> OK = K.ring_of_integers() # needs sage.rings.number_field >>> OK.is_noetherian() # needs sage.rings.number_field True >>> QQ.is_noetherian() True
- krull_dimension()[source]¶
Return 1 since Dedekind domains have Krull dimension 1.
EXAMPLES:
The following are examples of Dedekind domains:
sage: ZZ.krull_dimension() 1 sage: x = polygen(ZZ, 'x') sage: K = NumberField(x^2 + 1, 's') # needs sage.rings.number_field sage: OK = K.ring_of_integers() # needs sage.rings.number_field sage: OK.krull_dimension() # needs sage.rings.number_field 1
>>> from sage.all import * >>> ZZ.krull_dimension() 1 >>> x = polygen(ZZ, 'x') >>> K = NumberField(x**Integer(2) + Integer(1), 's') # needs sage.rings.number_field >>> OK = K.ring_of_integers() # needs sage.rings.number_field >>> OK.krull_dimension() # needs sage.rings.number_field 1