summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Caruso <xavier.caruso@univ-rennes1.fr>2018-03-06 01:13:40 +0100
committerJulian Rüth <julian.rueth@fsfe.org>2018-03-06 01:13:40 +0100
commitb2b82e87e40f69b4f211598e82f6de2f647df9d7 (patch)
treeb80552b78f0e68826f7dfe020dd30e7ed8862d01
parentUpdated SageMath version to 8.2.beta7 (diff)
Lattice precision for p-adicsu/saraedum/lattice_precision
In several recent papers, David Roe, Tristan Vaccon, and Xavier Caruso explain that lattices allow a sharp track of precision. This approach is implemented here in a first experimental version. Co-authored-by: David Roe <roed.math@gmail.com> Co-authored-by: Julian Rüth <julian.rueth@fsfe.org>
-rw-r--r--src/doc/en/reference/references/index.rst7
-rw-r--r--src/sage/categories/pushout.py7
-rw-r--r--src/sage/rings/padics/all.py4
-rw-r--r--src/sage/rings/padics/factory.py651
-rw-r--r--src/sage/rings/padics/generic_nodes.py465
-rw-r--r--src/sage/rings/padics/lattice_precision.py2835
-rw-r--r--src/sage/rings/padics/local_generic.py79
-rw-r--r--src/sage/rings/padics/local_generic_element.pyx6
-rw-r--r--src/sage/rings/padics/misc.py4
-rw-r--r--src/sage/rings/padics/padic_base_generic.py40
-rw-r--r--src/sage/rings/padics/padic_base_leaves.py274
-rw-r--r--src/sage/rings/padics/padic_generic.py50
-rw-r--r--src/sage/rings/padics/padic_lattice_element.py1311
-rw-r--r--src/sage/rings/padics/padic_printing.pyx7
14 files changed, 5581 insertions, 159 deletions
diff --git a/src/doc/en/reference/references/index.rst b/src/doc/en/reference/references/index.rst
index 1cf229a..52190cf 100644
--- a/src/doc/en/reference/references/index.rst
+++ b/src/doc/en/reference/references/index.rst
@@ -673,6 +673,13 @@ REFERENCES:
.. [Crossproduct] Algebraic Properties of the Cross Product
:wikipedia:`Cross_product`
+.. [CRV2018] Xavier Caruso, David Roe and Tristan Vaccon.
+ *ZpL: a p-adic precision package*, (2018) :arxiv:`1802.08532`.
+
+.. [CRV2014] Xavier Caruso, David Roe and Tristan Vaccon.
+ *Tracking p-adic precision*,
+ LMS J. Comput. Math. **17** (2014), 274-294.
+
.. [CS1986] \J. Conway and N. Sloane. *Lexicographic codes:
error-correcting codes from game theory*, IEEE
Trans. Infor. Theory **32** (1986) 337-348.
diff --git a/src/sage/categories/pushout.py b/src/sage/categories/pushout.py
index 602117f..bccd0b5 100644
--- a/src/sage/categories/pushout.py
+++ b/src/sage/categories/pushout.py
@@ -2318,7 +2318,7 @@ class CompletionFunctor(ConstructionFunctor):
"""
rank = 4
_real_types = ['Interval', 'Ball', 'MPFR', 'RDF', 'RLF', 'RR']
- _dvr_types = [None, 'fixed-mod','floating-point','capped-abs','capped-rel','lazy']
+ _dvr_types = [None, 'fixed-mod', 'floating-point', 'capped-abs', 'capped-rel', 'lattice-cap', 'lattice-float']
def __init__(self, p, prec, extras=None):
"""
@@ -2329,14 +2329,15 @@ class CompletionFunctor(ConstructionFunctor):
- ``prec``: an integer, yielding the precision in bits. Note that
if ``p`` is prime then the ``prec`` is the *capped* precision,
while it is the *set* precision if ``p`` is ``+Infinity``.