Dedekind Domains

class sage.categories.dedekind_domains.DedekindDomains[source]

Bases: Category

The 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 ElementMethods[source]

Bases: object

class ParentMethods[source]

Bases: object

integral_closure()[source]

Return self since 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 True since 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 True since 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
super_categories()[source]

EXAMPLES:

sage: DedekindDomains().super_categories()
[Category of integral domains]
>>> from sage.all import *
>>> DedekindDomains().super_categories()
[Category of integral domains]