29.3 John Jones's tables of number fields

Module: sage.databases.jones

In order to use the Jones database, the optional database package must be installed using the SAGE command !sage -i database_jones_numfield

This is a table of number fields with bounded ramification and degree $ \leq 6$ . You can query the database for all number fields in Jones's tables with bounded ramification and degree.

First load the database:

sage: J = JonesDatabase()
sage: J
John Jones's table of number fields with bounded ramification and degree <=
6

List the degree and discriminant of all fields in the database that have ramification at most at 2:

sage: [(k.degree(), k.disc()) for k in J.unramified_outside([2])]
[(1, 1), (2, 8), (2, -4), (2, -8), (4, 2048), (4, -1024), (4, 512), (4,
-2048), (4, 256), (4, 2048), (4, 2048)]

List the discriminants of the fields of degree exactly 2 unramified outside 2:

sage: [k.disc() for k in J.unramified_outside([2],2)]
[8, -4, -8]

List the discriminants of cubic field in the database ramified exactly at 3 and 5:

sage: [k.disc() for k in J.ramified_at([3,5],3)]
[-6075, -6075, -675, -135]
sage: factor(6075)
3^5 * 5^2
sage: factor(675)
3^3 * 5^2
sage: factor(135)
3^3 * 5

List all fields in the database ramified at 101

sage: J.ramified_at(101)
[Number Field in a with defining polynomial x^2 - 101, Number Field in a
with defining polynomial x^4 - x^3 + 13*x^2 - 19*x + 361, Number Field in a
with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6, Number
Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4,
Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 -
21*x + 17]

Class: JonesDatabase

class JonesDatabase
JonesDatabase( self, [read_only=True])

Functions: ramified_at,$  $ unramified_outside

ramified_at( self, S, [d=None])

Return all fields in the database of degree d ramified exactly at the primes in S.

INPUT:
    S -- list or set of primes
    d -- None (default) or an integer

sage: J = JonesDatabase()              # requires optional package
sage: J.ramified_at([101,119])         # requires optional package
[]
sage: J.ramified_at([119])             # requires optional package
[]
sage: J.ramified_at(101)               # requires optional package
[Number Field in a with defining polynomial x^2 - 101,
 Number Field in a with defining polynomial x^4 - x^3 + 13*x^2 - 19*x +
361,
 Number Field in a with defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 +
11*x - 6,
 Number Field in a with defining polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x
+ 4,
 Number Field in a with defining polynomial x^5 - x^4 - 40*x^3 - 93*x^2 -
21*x + 17]

unramified_outside( self, S, [d=None])

Return iterator over fields in the database of degree d unramified outside S. If d is omitted, return fields of any degree up to 6.

INPUT:
    S -- list or set of primes
    d -- None (default) or an integer

sage: J = JonesDatabase()             # requires optional package
sage: J.unramified_outside([101,119]) # requires optional package
[Number Field in a with defining polynomial x - 1, Number Field in a with
defining polynomial x^2 - 101, Number Field in a with defining polynomial
x^4 - x^3 + 13*x^2 - 19*x + 361, Number Field in a with defining polynomial
x^5 - x^4 - 40*x^3 - 93*x^2 - 21*x + 17, Number Field in a with defining
polynomial x^5 + x^4 - 6*x^3 - x^2 + 18*x + 4, Number Field in a with
defining polynomial x^5 + 2*x^4 + 7*x^3 + 4*x^2 + 11*x - 6]

Special Functions: __getitem__,$  $ __repr__,$  $ _init,$  $ _load

_init( self, [path=/home/was/s/data/src/jones_data/])

Create the database from scratch from the PARI files on John Jone's web page, downloaded (e.g., via wget) to a local directory, which is specified as path above.

INPUT:
    -- (default works on William Stein install.)
        path must be the path to Jone's Number_Fields directory
          http://hobbes.la.asu.edu/Number_Fields
       These files should have been downloaded using wget.

This is how to create the database from scratch, assuming that the number fields are in the default directory above: From a cold start of SAGE:

    sage: J = JonesDatabase(read_only=False)
    sage: J._init()
    ...
This takes about 5 seconds.

See About this document... for information on suggesting changes.