Skip to content

Commit b33cb75

Browse files
author
Release Manager
committed
gh-37234: make a category of Dedekind domains, remove code from ring.pyx This is creating a `DedekindDomains` category and moving the associated code from `ring.pyx` to the category. ### 📝 Checklist - [x] The title is concise, informative, and self-explanatory. - [x] The description explains in detail what this PR is about. - [ ] I have linked a relevant issue or discussion. - [ ] I have created tests covering the changes. - [x] I have updated the documentation accordingly. URL: #37234 Reported by: Frédéric Chapoton Reviewer(s): Travis Scrimshaw
2 parents 4f78a5f + 7b3bb5b commit b33cb75

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

41 files changed

+319
-235
lines changed

src/doc/en/tutorial/tour_coercion.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,8 @@ implemented in Sage as well:
116116
sage: Rings()
117117
Category of rings
118118
sage: ZZ.category()
119-
Join of Category of euclidean domains
119+
Join of Category of Dedekind domains
120+
and Category of euclidean domains
120121
and Category of infinite enumerated sets
121122
and Category of metric spaces
122123
sage: ZZ.category().is_subcategory(Rings())

src/doc/fr/tutorial/tour_coercion.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ par ailleurs les catégories en tant que telles :
117117
sage: Rings()
118118
Category of rings
119119
sage: ZZ.category()
120-
Join of Category of euclidean domains
120+
Join of Category of Dedekind domains
121+
and Category of euclidean domains
121122
and Category of infinite enumerated sets
122123
and Category of metric spaces
123124
sage: ZZ.category().is_subcategory(Rings())

src/doc/ja/tutorial/tour_coercion.rst

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,8 @@ Sageのクラス階層と圏の階層構造にはそれなりに類似が見ら
9999
sage: Rings()
100100
Category of rings
101101
sage: ZZ.category()
102-
Join of Category of euclidean domains
102+
Join of Category of Dedekind domains
103+
and Category of euclidean domains
103104
and Category of infinite enumerated sets
104105
and Category of metric spaces
105106
sage: ZZ.category().is_subcategory(Rings())

src/doc/pt/tutorial/tour_coercion.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@ categorias matemáticas também são implementadas no Sage:
123123
sage: Rings()
124124
Category of rings
125125
sage: ZZ.category()
126-
Join of Category of euclidean domains
126+
Join of Category of Dedekind domains
127+
and Category of euclidean domains
127128
and Category of infinite enumerated sets
128129
and Category of metric spaces
129-
130130
sage: ZZ.category().is_subcategory(Rings())
131131
True
132132
sage: ZZ in Rings()

src/sage/algebras/clifford_algebra.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,8 @@ def __init__(self, Q, names, category=None):
416416
sage: Cl = CliffordAlgebra(Q)
417417
sage: Cl.category()
418418
Category of finite dimensional super algebras with basis over
419-
(euclidean domains and infinite enumerated sets and metric spaces)
419+
(Dedekind domains and euclidean domains
420+
and infinite enumerated sets and metric spaces)
420421
sage: TestSuite(Cl).run()
421422
422423
TESTS:
@@ -994,7 +995,8 @@ def lift_module_morphism(self, m, names=None):
994995
sage: phi = Cl.lift_module_morphism(m, 'abc')
995996
sage: phi.category_for()
996997
Category of finite dimensional super algebras with basis over
997-
(euclidean domains and infinite enumerated sets and metric spaces)
998+
(Dedekind domains and euclidean domains
999+
and infinite enumerated sets and metric spaces)
9981000
sage: phi.matrix()
9991001
[ 1 0 0 0 7 -3 -7 0]
10001002
[ 0 1 -1 -1 0 0 0 -17]
@@ -1077,7 +1079,8 @@ def lift_isometry(self, m, names=None):
10771079
sage: phi = Cl.lift_isometry(m, 'abc')
10781080
sage: phi.category_for()
10791081
Category of finite dimensional super algebras with basis over
1080-
(euclidean domains and infinite enumerated sets and metric spaces)
1082+
(Dedekind domains and euclidean domains
1083+
and infinite enumerated sets and metric spaces)
10811084
sage: phi.matrix()
10821085
[ 1 0 0 0 1 2 5 0]
10831086
[ 0 1 1 2 0 0 0 5]

src/sage/categories/all.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@
8181
RingModules = Modules
8282
from sage.categories.vector_spaces import VectorSpaces
8383

84-
# (hopf) algebra structures
84+
# (Hopf) algebra structures
8585
from sage.categories.algebras import Algebras
8686
from sage.categories.commutative_algebras import CommutativeAlgebras
8787
from sage.categories.coalgebras import Coalgebras

src/sage/categories/basic.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@
4242
from sage.categories.commutative_rings import CommutativeRings
4343
from sage.categories.integral_domains import IntegralDomains
4444
from sage.categories.gcd_domains import GcdDomains
45+
from sage.categories.dedekind_domains import DedekindDomains
4546
from sage.categories.principal_ideal_domains import PrincipalIdealDomains
4647
from sage.categories.euclidean_domains import EuclideanDomains
4748
from sage.categories.unique_factorization_domains import UniqueFactorizationDomains

src/sage/categories/bimodules.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,14 +75,16 @@ def _make_named_class_key(self, name):
7575
(Join of Category of number fields
7676
and Category of quotient fields
7777
and Category of metric spaces,
78-
Join of Category of euclidean domains
78+
Join of Category of Dedekind domains
79+
and Category of euclidean domains
7980
and Category of infinite enumerated sets
8081
and Category of metric spaces)
8182
8283
8384
sage: Bimodules(Fields(), ZZ)._make_named_class_key('element_class')
8485
(Category of fields,
85-
Join of Category of euclidean domains
86+
Join of Category of Dedekind domains
87+
and Category of euclidean domains
8688
and Category of infinite enumerated sets
8789
and Category of metric spaces)
8890

src/sage/categories/category.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@
119119
_join_cache = WeakValueDictionary()
120120

121121

122-
HALL_OF_FAME = ['Coxeter', 'Hopf', 'Weyl', 'Lie', 'Hecke']
122+
HALL_OF_FAME = ['Coxeter', 'Hopf', 'Weyl', 'Lie', 'Hecke', 'Dedekind']
123123

124124

125125
class Category(UniqueRepresentation, SageObject):
@@ -2592,6 +2592,7 @@ def category_sample():
25922592
sage: from sage.categories.category import category_sample
25932593
sage: sorted(category_sample(), key=str) # needs sage.groups
25942594
[Category of Coxeter groups,
2595+
Category of Dedekind domains,
25952596
Category of G-sets for Symmetric group of order 8! as a permutation group,
25962597
Category of Hecke modules over Rational Field,
25972598
Category of Hopf algebras over Rational Field,
@@ -2836,7 +2837,8 @@ def _make_named_class_key(self, name):
28362837
The parent class of an algebra depends only on the category of the base ring::
28372838
28382839
sage: Algebras(ZZ)._make_named_class_key("parent_class")
2839-
Join of Category of euclidean domains
2840+
Join of Category of Dedekind domains
2841+
and Category of euclidean domains
28402842
and Category of infinite enumerated sets
28412843
and Category of metric spaces
28422844
@@ -2847,7 +2849,8 @@ def _make_named_class_key(self, name):
28472849
(Join of Category of number fields
28482850
and Category of quotient fields
28492851
and Category of metric spaces,
2850-
Join of Category of euclidean domains
2852+
Join of Category of Dedekind domains
2853+
and Category of euclidean domains
28512854
and Category of infinite enumerated sets
28522855
and Category of metric spaces)
28532856
@@ -2973,7 +2976,8 @@ def _make_named_class_key(self, name):
29732976
EXAMPLES::
29742977
29752978
sage: Modules(ZZ)._make_named_class_key('element_class')
2976-
Join of Category of euclidean domains
2979+
Join of Category of Dedekind domains
2980+
and Category of euclidean domains
29772981
and Category of infinite enumerated sets
29782982
and Category of metric spaces
29792983
sage: Modules(QQ)._make_named_class_key('parent_class')

src/sage/categories/category_types.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,8 @@ def _make_named_class_key(self, name):
225225
EXAMPLES::
226226
227227
sage: Modules(ZZ)._make_named_class_key('element_class')
228-
Join of Category of euclidean domains
228+
Join of Category of Dedekind domains
229+
and Category of euclidean domains
229230
and Category of infinite enumerated sets
230231
and Category of metric spaces
231232
sage: Modules(QQ)._make_named_class_key('parent_class')

0 commit comments

Comments
 (0)