Package: adeles
This is aSageMathpackage for computing with
adèles and idèles. It is based on and part of the master’s thesis [Her2021].[Her2021] Mathé Hertogh, Computing with adèles and idèles, master’s thesis,
Leiden University, 2021.In the root of this repository you can find [Her2021] as a PDF-file.Contents of the packageThe package can be seen to consist out of four parts.Part 1 corresponds to Chapters 3–6 of [Her2021] and provides the functionality
to compute with adèles and idèles over number fields. It consists out of these
files:profinite_integer.py– profinite integers over number fieldsprofinite_number.py– profinite numbers over number fieldscompletion.py– infinite completions of number fieldsadele.py– adèles over number fieldsmultiplicative_padic.py– multiplicativep-adicsidele.py– idèles over number fieldsray_class_group.py- ray class groups of number fieldsPart 2 corresponds to Chapter 7 of [Her2021] and implements profinite graphs,
which visualize graphs of functions from and to the ring of rational profinite
integers. In particular, the profinite Fibonacci function is implemented. Part 2
consists of out two files:profinite_function.py– profinite functions, including Fibonacciprofinite_graph.py– graphs of profinite functionsPart 3 corresponds to Chapter 8 of [Her2021] and implements the adèlic matrix
factorization algorithms discussed there. This resides in the file:matrix.py– adèlic matrix factorization algorithmsPart 4 corresponds to Chapter 9 of [Her2021] and implements the computation of
Hilbert class fields of imaginary quadratic number fields using Shimura’s
reciprocity law. It consists of the files:modular.py– modular functions and their actionsshimura.py– Shimura’s connecting homomorphismhilbert.py– example hilbert class field computationsGetting acquainted with the packageInstead of browsing through the source code files, we recommend browsing the
documentation, which is nicer formatted. It contains many examples to illustrate
the functionality.DocumentationThe documentation resides in the folderdocsand is also hosted online at
the following webpage:https://mathehertogh.github.io/adeles.Installing the packageFirst of all you should make sure you have a recent version ofSageMathinstalled, specificallySageMath
version 9.2 or newer.Now run the command$ sage -pip install adelesTo use the package, from anywhere on your computer, opensage$ sageand within thesageprompt, load the package:sage: from adeles.all import *Now you will have all functionality available, for example:sage: Adeles(QQ)
Adèle Ring of Rational FieldUpdating the packageTo update to the latest stable version of this package, run$ sage -pip install --upgrade adelesIt might be the case that the GitHub repositoryhttps://github.com/mathehertogh/adelescontains an ever newer version.
To install that version, clone the repository$ git clone https://github.com/mathehertogh/adeles.gitchange to the root directory of the package$ cd adelesand build the package using$ makeBackground informationFor more detailed information on this implementation of adèles and idèles, we
refer to [Her2021]. There we elaborate on properties of our representations of
adèles and idèles, design choices we made and implementation details.For questions you can contact the author via email (see below).Copyright# **************************************************************************
#       Copyright (C) 2021 Mathé Hertogh <m.c.hertogh@gmail.com>
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#                  https://www.gnu.org/licenses/
# **************************************************************************