passagemath-database-jones-numfield 10.6.45__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,3 @@
1
+ # sage_setup: distribution = sagemath-database-jones-numfield
2
+
3
+ from sage.all__sagemath_database_jones_numfield import *
@@ -0,0 +1,94 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-database-jones-numfield
3
+ Version: 10.6.45
4
+ Summary: passagemath: Table of number fields
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://passagemath.org/docs/latest
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Requires-Python: <3.15,>=3.10
31
+ Description-Content-Type: text/x-rst
32
+ Requires-Dist: passagemath-environment~=10.6.45.0
33
+
34
+ =====================================
35
+ passagemath: Table of number fields
36
+ =====================================
37
+
38
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
39
+ source mathematical software in Python, released under the GNU General
40
+ Public Licence GPLv2+.
41
+
42
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
43
+ developed 2005-2025 under the motto “Creating a Viable Open Source
44
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
45
+
46
+ The passagemath fork uses the motto "Creating a Free Passage Between the
47
+ Scientific Python Ecosystem and Mathematical Software Communities."
48
+ It was created in October 2024 with the following goals:
49
+
50
+ - providing modularized installation with pip,
51
+ - establishing first-class membership in the scientific Python
52
+ ecosystem,
53
+ - giving `clear attribution of upstream
54
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
55
+ - providing independently usable Python interfaces to upstream
56
+ libraries,
57
+ - offering `platform portability and integration testing
58
+ services <https://github.com/passagemath/passagemath/issues/704>`__
59
+ to upstream projects,
60
+ - inviting collaborations with upstream projects,
61
+ - `building a professional, respectful, inclusive
62
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
63
+ - `empowering Sage users to participate in the scientific Python ecosystem
64
+ <https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
65
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
66
+ serverless deployment with Javascript,
67
+ - developing a native Windows port.
68
+
69
+ `Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
70
+ available online.
71
+
72
+ passagemath attempts to support and provides binary wheels suitable for
73
+ all major Linux distributions and recent versions of macOS.
74
+
75
+ Binary wheels for native Windows (x86_64) are are available for a subset of
76
+ the passagemath distributions. Use of the full functionality of passagemath
77
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
78
+ or virtualization.
79
+
80
+ The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
81
+
82
+
83
+ About this pip-installable distribution package
84
+ -----------------------------------------------
85
+
86
+ This pip-installable distribution ``passagemath-database-jones-numfield`` is a
87
+ distribution of a table of number fields with bounded ramification and degree
88
+ at most 6.
89
+
90
+
91
+ What is included
92
+ ----------------
93
+
94
+ - Wheels on PyPI include the database_jones_numfield files
@@ -0,0 +1,95 @@
1
+ Metadata-Version: 2.4
2
+ Name: passagemath-database-jones-numfield
3
+ Version: 10.6.45
4
+ Summary: passagemath: Table of number fields
5
+ Author-email: The Sage Developers <sage-support@googlegroups.com>
6
+ Maintainer: Matthias Köppe, passagemath contributors
7
+ License-Expression: GPL-2.0-or-later
8
+ Project-URL: release notes, https://github.com/passagemath/passagemath/releases
9
+ Project-URL: repo (upstream), https://github.com/sagemath/sage
10
+ Project-URL: repo, https://github.com/passagemath/passagemath
11
+ Project-URL: documentation, https://passagemath.org/docs/latest
12
+ Project-URL: homepage (upstream), https://www.sagemath.org
13
+ Project-URL: discourse, https://passagemath.discourse.group
14
+ Project-URL: tracker (upstream), https://github.com/sagemath/sage/issues
15
+ Project-URL: tracker, https://github.com/passagemath/passagemath/issues
16
+ Classifier: Development Status :: 6 - Mature
17
+ Classifier: Intended Audience :: Education
18
+ Classifier: Intended Audience :: Science/Research
19
+ Classifier: Operating System :: POSIX
20
+ Classifier: Operating System :: POSIX :: Linux
21
+ Classifier: Operating System :: MacOS :: MacOS X
22
+ Classifier: Programming Language :: Python :: 3 :: Only
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Programming Language :: Python :: 3.14
28
+ Classifier: Programming Language :: Python :: Implementation :: CPython
29
+ Classifier: Topic :: Scientific/Engineering :: Mathematics
30
+ Requires-Python: <3.15,>=3.10
31
+ Description-Content-Type: text/x-rst
32
+ Requires-Dist: passagemath-conf~=10.6.45.0; sys_platform != "win32"
33
+ Requires-Dist: passagemath-environment~=10.6.45.0
34
+
35
+ =====================================
36
+ passagemath: Table of number fields
37
+ =====================================
38
+
39
+ `passagemath <https://github.com/passagemath/passagemath>`__ is open
40
+ source mathematical software in Python, released under the GNU General
41
+ Public Licence GPLv2+.
42
+
43
+ It is a fork of `SageMath <https://www.sagemath.org/>`__, which has been
44
+ developed 2005-2025 under the motto “Creating a Viable Open Source
45
+ Alternative to Magma, Maple, Mathematica, and MATLAB”.
46
+
47
+ The passagemath fork uses the motto "Creating a Free Passage Between the
48
+ Scientific Python Ecosystem and Mathematical Software Communities."
49
+ It was created in October 2024 with the following goals:
50
+
51
+ - providing modularized installation with pip,
52
+ - establishing first-class membership in the scientific Python
53
+ ecosystem,
54
+ - giving `clear attribution of upstream
55
+ projects <https://groups.google.com/g/sage-devel/c/6HO1HEtL1Fs/m/G002rPGpAAAJ>`__,
56
+ - providing independently usable Python interfaces to upstream
57
+ libraries,
58
+ - offering `platform portability and integration testing
59
+ services <https://github.com/passagemath/passagemath/issues/704>`__
60
+ to upstream projects,
61
+ - inviting collaborations with upstream projects,
62
+ - `building a professional, respectful, inclusive
63
+ community <https://groups.google.com/g/sage-devel/c/xBzaINHWwUQ>`__,
64
+ - `empowering Sage users to participate in the scientific Python ecosystem
65
+ <https://github.com/passagemath/passagemath/issues/248>`__ by publishing packages,
66
+ - developing a port to `Pyodide <https://pyodide.org/en/stable/>`__ for
67
+ serverless deployment with Javascript,
68
+ - developing a native Windows port.
69
+
70
+ `Full documentation <https://passagemath.org/docs/latest/html/en/index.html>`__ is
71
+ available online.
72
+
73
+ passagemath attempts to support and provides binary wheels suitable for
74
+ all major Linux distributions and recent versions of macOS.
75
+
76
+ Binary wheels for native Windows (x86_64) are are available for a subset of
77
+ the passagemath distributions. Use of the full functionality of passagemath
78
+ on Windows currently requires the use of Windows Subsystem for Linux (WSL)
79
+ or virtualization.
80
+
81
+ The supported Python versions in the passagemath 10.6.x series are 3.10.x-3.14.x.
82
+
83
+
84
+ About this pip-installable distribution package
85
+ -----------------------------------------------
86
+
87
+ This pip-installable distribution ``passagemath-database-jones-numfield`` is a
88
+ distribution of a table of number fields with bounded ramification and degree
89
+ at most 6.
90
+
91
+
92
+ What is included
93
+ ----------------
94
+
95
+ - Wheels on PyPI include the database_jones_numfield files
@@ -0,0 +1,10 @@
1
+ passagemath_database_jones_numfield/__init__.py,sha256=d05QXdJ4poWm5aG29zPdN-ALRtVYuZJllt0M3paxdx8,120
2
+ sage/all__sagemath_database_jones_numfield.py,sha256=_BI9Fw48b1L-whWCVreD4WSRFI3WgTzdyP12wY5QVKA,130
3
+ sage/databases/all__sagemath_database_jones_numfield.py,sha256=pKsZf9qbjY6EM50Yf3QBm4ySHm3bx8wiSerQ5y3Lf2w,179
4
+ sage/databases/jones.py,sha256=HHFQAVE_-KlheT7rnIKJGTw5nxBl49fdvcrl-eoNexI,11022
5
+ sage_wheels/share/jones/jones.sobj,sha256=HgCAbbvJn_XahvjSHXW6sU5LAKhe68cOoNnGS-ct_Dg,184466
6
+ passagemath_database_jones_numfield-10.6.45.dist-info/METADATA,sha256=fb_GNj9YmRvLYf3O3DMUHEAL5MhhREkQiUkTR-BY7fw,4226
7
+ passagemath_database_jones_numfield-10.6.45.dist-info/METADATA.bak,sha256=__7TPtaXgdVkp8F4ZuvGTdROP61ZH_8y2kYRNlnDGSs,4294
8
+ passagemath_database_jones_numfield-10.6.45.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
9
+ passagemath_database_jones_numfield-10.6.45.dist-info/top_level.txt,sha256=vcClUXeh-dH3LwFncGB2sW6oItm7f9dYAe6QyP0Fdbo,41
10
+ passagemath_database_jones_numfield-10.6.45.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (78.1.0)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ passagemath_database_jones_numfield
2
+ sage
@@ -0,0 +1,3 @@
1
+ # sage_setup: distribution = sagemath-database-jones-numfield
2
+
3
+ from sage.databases.all__sagemath_database_jones_numfield import *
@@ -0,0 +1,6 @@
1
+ # sage_setup: distribution = sagemath-database-jones-numfield
2
+ from sage.misc.lazy_import import lazy_import
3
+
4
+ lazy_import('sage.databases.jones', 'JonesDatabase')
5
+
6
+ del lazy_import
@@ -0,0 +1,282 @@
1
+ # sage_setup: distribution = sagemath-database-jones-numfield
2
+ r"""
3
+ John Jones's tables of number fields
4
+
5
+ In order to use the Jones database, the optional :ref:`database_jones_numfield
6
+ <spkg_database_jones_numfield>` package must be installed using the Sage command ::
7
+
8
+ sage -i database_jones_numfield
9
+
10
+ This is a table of number fields with bounded ramification and
11
+ degree `\leq 6`. You can query the database for all number
12
+ fields in Jones's tables with bounded ramification and degree.
13
+
14
+ EXAMPLES: First load the database::
15
+
16
+ sage: J = JonesDatabase()
17
+ sage: J
18
+ John Jones's table of number fields with bounded ramification and degree <= 6
19
+
20
+ List the degree and discriminant of all fields in the database that
21
+ have ramification at most at 2::
22
+
23
+ sage: [(k.degree(), k.disc()) for k in J.unramified_outside([2])] # optional - database_jones_numfield
24
+ [(1, 1), (2, -4), (2, -8), (2, 8), (4, 256), (4, 512), (4, -1024), (4, -2048), (4, 2048), (4, 2048), (4, 2048)]
25
+
26
+ List the discriminants of the fields of degree exactly 2 unramified
27
+ outside 2::
28
+
29
+ sage: [k.disc() for k in J.unramified_outside([2],2)] # optional - database_jones_numfield
30
+ [-4, -8, 8]
31
+
32
+ List the discriminants of cubic field in the database ramified
33
+ exactly at 3 and 5::
34
+
35
+ sage: [k.disc() for k in J.ramified_at([3,5],3)] # optional - database_jones_numfield
36
+ [-135, -675, -6075, -6075]
37
+ sage: factor(6075)
38
+ 3^5 * 5^2
39
+ sage: factor(675)
40
+ 3^3 * 5^2
41
+ sage: factor(135)
42
+ 3^3 * 5
43
+
44
+ List all fields in the database ramified at 101::
45
+
46
+ sage: J.ramified_at(101) # optional - database_jones_numfield
47
+ [Number Field in a with defining polynomial x^2 - 101,
48
+ Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361,
49
+ Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4,
50
+ Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6,
51
+ Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17]
52
+ """
53
+
54
+ # ****************************************************************************
55
+ # Sage: Open Source Mathematical Software
56
+ #
57
+ # Copyright (C) 2005 William Stein <wstein@gmail.com>
58
+ #
59
+ # Distributed under the terms of the GNU General Public License (GPL)
60
+ #
61
+ # This code is distributed in the hope that it will be useful,
62
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
63
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
64
+ # General Public License for more details.
65
+ #
66
+ # The full text of the GPL is available at:
67
+ #
68
+ # https://www.gnu.org/licenses/
69
+ # ****************************************************************************
70
+
71
+ import os
72
+
73
+ from sage.rings.number_field.number_field import NumberField
74
+ from sage.rings.rational_field import RationalField
75
+ from sage.rings.polynomial.polynomial_ring_constructor import PolynomialRing
76
+ from sage.combinat.subset import powerset
77
+ from sage.env import SAGE_SHARE
78
+
79
+ from sage.misc.persist import load, save
80
+
81
+ from sage.features.databases import DatabaseJones
82
+
83
+
84
+ def sortkey(K):
85
+ """
86
+ A completely deterministic sorting key for number fields.
87
+
88
+ EXAMPLES::
89
+
90
+ sage: from sage.databases.jones import sortkey
91
+ sage: sortkey(QuadraticField(-3))
92
+ (2, 3, False, x^2 + 3)
93
+ """
94
+ return K.degree(), abs(K.discriminant()), K.discriminant() > 0, K.polynomial()
95
+
96
+
97
+ class JonesDatabase:
98
+ def __init__(self):
99
+ self.root = None
100
+
101
+ def __repr__(self):
102
+ return "John Jones's table of number fields with bounded ramification and degree <= 6"
103
+
104
+ def _load(self, path, filename):
105
+ print(filename)
106
+ i = 0
107
+ while filename[i].isalpha():
108
+ i += 1
109
+ j = len(filename) - 1
110
+ while filename[j].isalpha() or filename[j] in [".", "_"]:
111
+ j -= 1
112
+ S = sorted([eval(z) for z in filename[i:j + 1].split("-")])
113
+ with open(path + "/" + filename) as f:
114
+ data = f.read()
115
+ data = data.replace("^", "**")
116
+ x = PolynomialRing(RationalField(), 'x').gen() # used next line
117
+ v = eval(data)
118
+ s = tuple(S)
119
+ if s in self.root:
120
+ self.root[s] += v
121
+ self.root[s].sort()
122
+ else:
123
+ self.root[s] = v
124
+
125
+ def _init(self, path):
126
+ """
127
+ Create the database from scratch from the PARI files on John Jones's
128
+ web page, downloaded (e.g., via wget) to a local directory, which
129
+ is specified as path above.
130
+
131
+ INPUT:
132
+
133
+ - ``path`` -- (default: works on William Stein install)
134
+ path must be the path to Jones's Number_Fields directory
135
+ (http://hobbes.la.asu.edu/Number_Fields); these files should have
136
+ been downloaded using wget
137
+
138
+ EXAMPLES: This is how to create the database from scratch, assuming
139
+ that the number fields are in the default directory above: From a
140
+ cold start of Sage::
141
+
142
+ sage: J = JonesDatabase()
143
+ sage: J._init() # not tested
144
+ ...
145
+
146
+ This takes about 5 seconds.
147
+ """
148
+ x = PolynomialRing(RationalField(), 'x').gen()
149
+ self.root = {}
150
+ self.root[tuple()] = [x - 1]
151
+ if not os.path.exists(path):
152
+ raise OSError("Path %s does not exist." % path)
153
+ for X in os.listdir(path):
154
+ if X[-4:] == "solo":
155
+ Z = path + "/" + X
156
+ print(X)
157
+ for Y in os.listdir(Z):
158
+ if Y[-3:] == ".gp":
159
+ self._load(Z, Y)
160
+
161
+ data_dir = os.path.dirname(DatabaseJones().absolute_filename())
162
+ os.makedirs(data_dir, exist_ok=True)
163
+ save(self.root, os.path.join(data_dir, "jones.sobj"))
164
+
165
+ def unramified_outside(self, S, d=None, var='a'):
166
+ """
167
+ Return all fields in the database of degree d unramified
168
+ outside S. If d is omitted, return fields of any degree up to 6.
169
+ The fields are ordered by degree and discriminant.
170
+
171
+ INPUT:
172
+
173
+ - ``S`` -- list or set of primes, or a single prime
174
+
175
+ - ``d`` -- ``None`` (default, in which case all fields of degree <= 6 are returned)
176
+ or a positive integer giving the degree of the number fields returned
177
+
178
+ - ``var`` -- the name used for the generator of the number fields (default: ``'a'``)
179
+
180
+ EXAMPLES::
181
+
182
+ sage: J = JonesDatabase() # optional - database_jones_numfield
183
+ sage: J.unramified_outside([101,109]) # optional - database_jones_numfield
184
+ [Number Field in a with defining polynomial x - 1,
185
+ Number Field in a with defining polynomial x^2 - 101,
186
+ Number Field in a with defining polynomial x^2 - 109,
187
+ Number Field in a with defining polynomial x^3 - x^2 - 36*x + 4,
188
+ Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361,
189
+ Number Field in a with defining polynomial x^4 - x^3 + 14*x^2 + 34*x + 393,
190
+ Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4,
191
+ Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6,
192
+ Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17]
193
+ """
194
+ try:
195
+ S = list(S)
196
+ except TypeError:
197
+ S = [S]
198
+ Z = []
199
+ for X in powerset(S):
200
+ Z += self.ramified_at(X, d=d, var=var)
201
+ return sorted(Z, key=sortkey)
202
+
203
+ def __getitem__(self, S):
204
+ return self.get(S)
205
+
206
+ def get(self, S, var='a'):
207
+ """
208
+ Return all fields in the database ramified exactly at
209
+ the primes in S.
210
+
211
+ INPUT:
212
+
213
+ - ``S`` -- list or set of primes, or a single prime
214
+
215
+ - ``var`` -- the name used for the generator of the number fields (default: ``'a'``)
216
+
217
+ EXAMPLES::
218
+
219
+ sage: J = JonesDatabase() # optional - database_jones_numfield
220
+ sage: J.get(163, var='z') # optional - database_jones_numfield
221
+ [Number Field in z with defining polynomial x^2 + 163,
222
+ Number Field in z with defining polynomial x^3 - x^2 - 54*x + 169,
223
+ Number Field in z with defining polynomial x^4 - x^3 - 7*x^2 + 2*x + 9]
224
+ sage: J.get([3, 4]) # optional - database_jones_numfield
225
+ Traceback (most recent call last):
226
+ ...
227
+ ValueError: S must be a list of primes
228
+ """
229
+ if self.root is None:
230
+ self.root = load(DatabaseJones().absolute_filename())
231
+ try:
232
+ S = list(S)
233
+ except TypeError:
234
+ S = [S]
235
+ if not all(p.is_prime() for p in S):
236
+ raise ValueError("S must be a list of primes")
237
+ S.sort()
238
+ s = tuple(S)
239
+ if s not in self.root:
240
+ return []
241
+ return [NumberField(f, var, check=False) for f in self.root[s]]
242
+
243
+ def ramified_at(self, S, d=None, var='a'):
244
+ """
245
+ Return all fields in the database of degree d ramified exactly at
246
+ the primes in S. The fields are ordered by degree and discriminant.
247
+
248
+ INPUT:
249
+
250
+ - ``S`` -- list or set of primes
251
+
252
+ - ``d`` -- ``None`` (default, in which case all fields of degree <= 6 are returned)
253
+ or a positive integer giving the degree of the number fields returned
254
+
255
+ - ``var`` -- the name used for the generator of the number fields (default: ``'a'``)
256
+
257
+ EXAMPLES::
258
+
259
+ sage: # optional - database_jones_numfield
260
+ sage: J = JonesDatabase()
261
+ sage: J.ramified_at([101,109])
262
+ []
263
+ sage: J.ramified_at([109])
264
+ [Number Field in a with defining polynomial x^2 - 109,
265
+ Number Field in a with defining polynomial x^3 - x^2 - 36*x + 4,
266
+ Number Field in a with defining polynomial x^4 - x^3 + 14*x^2 + 34*x + 393]
267
+ sage: J.ramified_at(101)
268
+ [Number Field in a with defining polynomial x^2 - 101,
269
+ Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361,
270
+ Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4,
271
+ Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6,
272
+ Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17]
273
+ sage: J.ramified_at((2, 5, 29), 3, 'c')
274
+ [Number Field in c with defining polynomial x^3 - x^2 - 8*x - 28,
275
+ Number Field in c with defining polynomial x^3 - x^2 + 10*x + 102,
276
+ Number Field in c with defining polynomial x^3 - x^2 - 48*x - 188,
277
+ Number Field in c with defining polynomial x^3 - x^2 + 97*x - 333]
278
+ """
279
+ Z = self.get(S, var=var)
280
+ if d is not None:
281
+ Z = [k for k in Z if k.degree() == d]
282
+ return sorted(Z, key=sortkey)
Binary file