ZpL : a p-adic precision package Xavier Caruso, David Roe, Tristan - - PowerPoint PPT Presentation

zpl a p adic precision package
SMART_READER_LITE
LIVE PREVIEW

ZpL : a p-adic precision package Xavier Caruso, David Roe, Tristan - - PowerPoint PPT Presentation

ZpL : a p-adic precision package ZpL : a p-adic precision package Xavier Caruso, David Roe, Tristan Vaccon Univ. Rennes 1 Univ. Bordeaux; MIT; Universit de Limoges ISSAC 2018 . . . . . . . . . . . . . . . . . . . . . .


slide-1
SLIDE 1

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package

ZpL: a p-adic precision package

Xavier Caruso, David Roe, Tristan Vaccon

  • Univ. Rennes 1 → Univ. Bordeaux; MIT; Université de Limoges

ISSAC 2018

slide-2
SLIDE 2

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

slide-3
SLIDE 3

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number

slide-4
SLIDE 4

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number p-adic numbers are numbers written in p-basis of the shape: a = . . . ai . . . a2 a1 a0 , a−1 a−2 . . . a−n with 0 ≤ ai < p for all i.

slide-5
SLIDE 5

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number p-adic numbers are numbers written in p-basis of the shape: a = . . . ai . . . a2 a1 a0 , a−1 a−2 . . . a−n with 0 ≤ ai < p for all i. Addition and multiplication on these numbers are defined by applying SchoolBook algorithms.

slide-6
SLIDE 6

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number p-adic numbers are numbers written in p-basis of the shape: a = . . . ai . . . a2 a1 a0 , a−1 a−2 . . . a−n with 0 ≤ ai < p for all i. Addition and multiplication on these numbers are defined by applying SchoolBook algorithms. The valuation vp(a) of a is the smallest v such that av ̸= 0.

slide-7
SLIDE 7

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number p-adic numbers are numbers written in p-basis of the shape: a = . . . ai . . . a2 a1 a0 , a−1 a−2 . . . a−n with 0 ≤ ai < p for all i. Addition and multiplication on these numbers are defined by applying SchoolBook algorithms. The valuation vp(a) of a is the smallest v such that av ̸= 0. The p-adic numbers form the field Qp.

slide-8
SLIDE 8

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number p-adic numbers are numbers written in p-basis of the shape: a = . . . ai . . . a2 a1 a0 , a−1 a−2 . . . a−n with 0 ≤ ai < p for all i. Addition and multiplication on these numbers are defined by applying SchoolBook algorithms. The valuation vp(a) of a is the smallest v such that av ̸= 0. The p-adic numbers form the field Qp. A p-adic number with no digit after the comma is a p-adic integer.

slide-9
SLIDE 9

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

What are p-adic numbers?

p refers to a prime number p-adic numbers are numbers written in p-basis of the shape: a = . . . ai . . . a2 a1 a0 , a−1 a−2 . . . a−n with 0 ≤ ai < p for all i. Addition and multiplication on these numbers are defined by applying SchoolBook algorithms. The valuation vp(a) of a is the smallest v such that av ̸= 0. The p-adic numbers form the field Qp. A p-adic number with no digit after the comma is a p-adic integer. The p-adic integers form a subring Zp of Qp.

slide-10
SLIDE 10

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Summary on p-adics

Proposition Zp/pZp = Z/pZ.

slide-11
SLIDE 11

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Summary on p-adics

Proposition Zp/pZp = Z/pZ. ∀k ∈ N, Zp/pkZp = Z/pkZ.

slide-12
SLIDE 12

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Summary on p-adics

Proposition Zp/pZp = Z/pZ. ∀k ∈ N, Zp/pkZp = Z/pkZ. A first idea Qp is an extension of Q where one can perform calculus, as simply as over R.

slide-13
SLIDE 13

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Summary on p-adics

Proposition Zp/pZp = Z/pZ. ∀k ∈ N, Zp/pkZp = Z/pkZ. A first idea Qp is an extension of Q where one can perform calculus, as simply as over R. We are closer to arithmetic : we can reduce modulo p.

slide-14
SLIDE 14

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Summary on p-adics

Proposition Zp/pZp = Z/pZ. ∀k ∈ N, Zp/pkZp = Z/pkZ. A first idea Qp is an extension of Q where one can perform calculus, as simply as over R. We are closer to arithmetic : we can reduce modulo p. Remark Qp R Zp Zp Q Z/pZ Z/pZ

slide-15
SLIDE 15

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Why should one work with p-adic numbers?

p-adic methods Working in Qp instead of Q, one can handle more efficiently the coefficients growth;

slide-16
SLIDE 16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Why should one work with p-adic numbers?

p-adic methods Working in Qp instead of Q, one can handle more efficiently the coefficients growth; e.g. Dixon’s method (used in F4), polynomial factorization via Hensel’s lemma.

slide-17
SLIDE 17

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Why should one work with p-adic numbers?

p-adic methods Working in Qp instead of Q, one can handle more efficiently the coefficients growth; e.g. Dixon’s method (used in F4), polynomial factorization via Hensel’s lemma. p-adic algorithms Going from Z/pZ to Zp and then back to Z/pZ enables more computation,

slide-18
SLIDE 18

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Why should one work with p-adic numbers?

p-adic methods Working in Qp instead of Q, one can handle more efficiently the coefficients growth; e.g. Dixon’s method (used in F4), polynomial factorization via Hensel’s lemma. p-adic algorithms Going from Z/pZ to Zp and then back to Z/pZ enables more computation, e.g. solving differential equations over finite fields.

slide-19
SLIDE 19

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Why should one work with p-adic numbers?

p-adic methods Working in Qp instead of Q, one can handle more efficiently the coefficients growth; e.g. Dixon’s method (used in F4), polynomial factorization via Hensel’s lemma. p-adic algorithms Going from Z/pZ to Zp and then back to Z/pZ enables more computation, e.g. solving differential equations over finite fields. Kedlaya’s and Lauder’s counting-point algorithms via p-adic cohomology.

slide-20
SLIDE 20

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Why should one work with p-adic numbers?

p-adic methods Working in Qp instead of Q, one can handle more efficiently the coefficients growth; e.g. Dixon’s method (used in F4), polynomial factorization via Hensel’s lemma. p-adic algorithms Going from Z/pZ to Zp and then back to Z/pZ enables more computation, e.g. solving differential equations over finite fields. Kedlaya’s and Lauder’s counting-point algorithms via p-adic cohomology. My personal (long-term) motivation Computing (some) moduli spaces of p-adic Galois representations.

slide-21
SLIDE 21

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Motivations and goal

Today’s goal We present the ZpL package for Sage. It features:

slide-22
SLIDE 22

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Motivations and goal

Today’s goal We present the ZpL package for Sage. It features: Tracking of the optimal behaviour of p-adic precision.

slide-23
SLIDE 23

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Introduction

Motivations and goal

Today’s goal We present the ZpL package for Sage. It features: Tracking of the optimal behaviour of p-adic precision. Portability: any existing p-adic code in Sage can use ZpL without any modification (outside of declaration of the fields).

slide-24
SLIDE 24

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision

Table of contents

1 p-adic precision: direct approach and differential precision

Practical viewpoint Theoretical viewpoint

2 Our package 3 Further demo

slide-25
SLIDE 25

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Table of contents

1 p-adic precision: direct approach and differential precision

Practical viewpoint Theoretical viewpoint

2 Our package 3 Further demo

slide-26
SLIDE 26

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Definition of the precision

Finite-precision p-adics: "interval arithmetc" Elements of Qp can be written ∑+∞

i=l aipi, with ai ∈ 0, p − 1, l ∈ Z and

p a prime number. Working with a computer, we usually only can consider the beginning of this power series expansion: we only consider elements of the form ∑d−1

i=l aipi + O(pd) , with l ∈ Z.

slide-27
SLIDE 27

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Definition of the precision

Finite-precision p-adics: "interval arithmetc" Elements of Qp can be written ∑+∞

i=l aipi, with ai ∈ 0, p − 1, l ∈ Z and

p a prime number. Working with a computer, we usually only can consider the beginning of this power series expansion: we only consider elements of the form ∑d−1

i=l aipi + O(pd) , with l ∈ Z.

slide-28
SLIDE 28

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Definition of the precision

Finite-precision p-adics: "interval arithmetc" Elements of Qp can be written ∑+∞

i=l aipi, with ai ∈ 0, p − 1, l ∈ Z and

p a prime number. Working with a computer, we usually only can consider the beginning of this power series expansion: we only consider elements of the form ∑d−1

i=l aipi + O(pd) , with l ∈ Z.

Definition The order, or the absolute precision of ∑d−1

i=l aipi + O(pd) is d.

slide-29
SLIDE 29

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Definition of the precision

Finite-precision p-adics: "interval arithmetc" Elements of Qp can be written ∑+∞

i=l aipi, with ai ∈ 0, p − 1, l ∈ Z and

p a prime number. Working with a computer, we usually only can consider the beginning of this power series expansion: we only consider elements of the form ∑d−1

i=l aipi + O(pd) , with l ∈ Z.

Definition The order, or the absolute precision of ∑d−1

i=l aipi + O(pd) is d.

Example The order of . . . 604, 3 in Q3 is 3.

slide-30
SLIDE 30

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Precision formulae

Proposition (addition) (x0 + O(pk0)) + (x1 + O(pk1)) = x0 + x1 + O(pmin(k0,k1))

slide-31
SLIDE 31

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Precision formulae

Proposition (addition) (x0 + O(pk0)) + (x1 + O(pk1)) = x0 + x1 + O(pmin(k0,k1)) Proposition (multiplication) (x0 + O(pk0)) × (x1 + O(pk1)) = x0x1 + O(pmin(k0+vp(x1),k1+vp(x0)))

slide-32
SLIDE 32

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Precision formulae

Proposition (addition) (x0 + O(pk0)) + (x1 + O(pk1)) = x0 + x1 + O(pmin(k0,k1)) Proposition (multiplication) (x0 + O(pk0)) × (x1 + O(pk1)) = x0x1 + O(pmin(k0+vp(x1),k1+vp(x0))) Proposition (division) xpa + O(pb) ypc + O(pd) = x y pa−c + O(pmin(d+a−2c,b−c)) In particular, 1 pcy + O(pd) = y −1p−c + O(pd−2c)

slide-33
SLIDE 33

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

On "interval arithmetic"

Benefits Standard: available in most computer algebra softwares.

slide-34
SLIDE 34

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

On "interval arithmetic"

Benefits Standard: available in most computer algebra softwares. Correctness: all digits are provably correct.

slide-35
SLIDE 35

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

On "interval arithmetic"

Benefits Standard: available in most computer algebra softwares. Correctness: all digits are provably correct. Drawbacks Precision: accumulation of loss in precision can happen (when used naively).

slide-36
SLIDE 36

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

On "interval arithmetic"

Benefits Standard: available in most computer algebra softwares. Correctness: all digits are provably correct. Drawbacks Precision: accumulation of loss in precision can happen (when used naively). Consequence: results can be far from optimal precision.

slide-37
SLIDE 37

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Optimality, intrinsicness

Step-by-step analysis is not optimal. Let f : Q2

3

→ Q2

p

(x, y) → (x + y, x − y).

slide-38
SLIDE 38

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Optimality, intrinsicness

Step-by-step analysis is not optimal. Let f : Q2

3

→ Q2

p

(x, y) → (x + y, x − y). We would like to compute f ◦ f (x, y) with (x, y) = (4 + O(36) , 2 + O(34)).

slide-39
SLIDE 39

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Optimality, intrinsicness

Step-by-step analysis is not optimal. Let f : Q2

3

→ Q2

p

(x, y) → (x + y, x − y). We would like to compute f ◦ f (x, y) with (x, y) = (4 + O(36) , 2 + O(34)). If we apply f two times, we get : f ◦ f (x, y) = (8 + O(34) , 4 + O(34)).

slide-40
SLIDE 40

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Optimality, intrinsicness

Step-by-step analysis is not optimal. Let f : Q2

3

→ Q2

p

(x, y) → (x + y, x − y). We would like to compute f ◦ f (x, y) with (x, y) = (4 + O(36) , 2 + O(34)). If we apply f two times, we get : f ◦ f (x, y) = (8 + O(34) , 4 + O(34)). If we remark that f ◦ f = 2Id, we get : f ◦ f (x, y) = (8 + O(36) , 4 + O(34)).

slide-41
SLIDE 41

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Practical viewpoint

Optimality, intrinsicness

Step-by-step analysis is not optimal. Let f : Q2

3

→ Q2

p

(x, y) → (x + y, x − y). We would like to compute f ◦ f (x, y) with (x, y) = (4 + O(36) , 2 + O(34)). If we apply f two times, we get : f ◦ f (x, y) = (8 + O(34) , 4 + O(34)). If we remark that f ◦ f = 2Id, we get : f ◦ f (x, y) = (8 + O(36) , 4 + O(34)).

slide-42
SLIDE 42

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Table of contents

1 p-adic precision: direct approach and differential precision

Practical viewpoint Theoretical viewpoint

2 Our package 3 Further demo

slide-43
SLIDE 43

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

The Main lemma of p-adic differential precision

Lemma (CRV14) Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

slide-44
SLIDE 44

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

The Main lemma of p-adic differential precision

Lemma (CRV14) Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.
slide-45
SLIDE 45

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

The Main lemma of p-adic differential precision

Lemma (CRV14) Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.

Then for any ball B = B(0, r) small enough, f (x + B) = f (x) + f ′(x) · B.

slide-46
SLIDE 46

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

The Main lemma of p-adic differential precision

Lemma (CRV14) Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.

Then for any ball B = B(0, r) small enough, f (x + B) = f (x) + f ′(x) · B.

slide-47
SLIDE 47

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Geometrical meaning

Interpretation x B f (x)

slide-48
SLIDE 48

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Geometrical meaning

Interpretation x B f (x) f ′(x)

slide-49
SLIDE 49

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Geometrical meaning

Interpretation x B f (x) f ′(x) f ′(x) · B

slide-50
SLIDE 50

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Geometrical meaning

Interpretation x x + B B f (x) f ′(x) f ′(x) · B

slide-51
SLIDE 51

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Geometrical meaning

Interpretation x x + B f B f (x) f ′(x) f ′(x) · B

slide-52
SLIDE 52

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Geometrical meaning

Interpretation x x + B f B f (x) f ′(x) f (x) + f ′(x) · B f ′(x) · B

slide-53
SLIDE 53

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Lattices

slide-54
SLIDE 54

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Lattices

Lemma Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.

Then for any ball B = B(0, r) small enough, f (x + B) = f (x) + f ′(x) · B.

slide-55
SLIDE 55

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Lattices

Lemma Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.

Then for any ball B = B(0, r) small enough, for any open Zp-lattice H ⊂ B f (x + H) = f (x) + f ′(x) · H.

slide-56
SLIDE 56

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Lattices

Lemma Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.

Then for any ball B = B(0, r) small enough, for any open Zp-lattice H ⊂ B f (x + H) = f (x) + f ′(x) · H. Remark This allows more models of precision, like (x, y) = (1 + O(p10), 1 + O(p)).

slide-57
SLIDE 57

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package p-adic precision: direct approach and differential precision Theoretical viewpoint

Lattices

Lemma Let f : Qn

p → Qm p be a (strictly) differentiable mapping.

Let x ∈ Qn

  • p. We assume that f ′(x) is surjective.

Then for any ball B = B(0, r) small enough, for any open Zp-lattice H ⊂ B f (x + H) = f (x) + f ′(x) · H. Remark This allows more models of precision, like (x, y) = (1 + O(p10), 1 + O(p)). Remark This framework can be extended to (complete) ultrametric K-vector spaces (e.g. Fp((X))n, Q((X))m, . . . ).

slide-58
SLIDE 58

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Table of contents

1 p-adic precision: direct approach and differential precision

Practical viewpoint Theoretical viewpoint

2 Our package 3 Further demo

slide-59
SLIDE 59

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Small demo

Go to Sage session.

slide-60
SLIDE 60

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Specific motivations

Our goal with ZpL We would like to address the following:

slide-61
SLIDE 61

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Specific motivations

Our goal with ZpL We would like to address the following: Be able to compute the optimal precision, even though there is no theoretical understanding of the computation.

slide-62
SLIDE 62

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Specific motivations

Our goal with ZpL We would like to address the following: Be able to compute the optimal precision, even though there is no theoretical understanding of the computation. It should not require a specialized algorithm for every problem.

slide-63
SLIDE 63

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Specific motivations

Our goal with ZpL We would like to address the following: Be able to compute the optimal precision, even though there is no theoretical understanding of the computation. It should not require a specialized algorithm for every problem. Main idea Carry on a lattice of precision. It represents the precision on all the quantities computed.

slide-64
SLIDE 64

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Representing lattices

Lattices in matrix representation We represent a precision lattice using an upper triangular matrix, whose rows give a basis for the lattice.

slide-65
SLIDE 65

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Representing lattices

Lattices in matrix representation We represent a precision lattice using an upper triangular matrix, whose rows give a basis for the lattice. We scale the diagonal entries to be powers of p.

slide-66
SLIDE 66

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Representing lattices

Lattices in matrix representation We represent a precision lattice using an upper triangular matrix, whose rows give a basis for the lattice. We scale the diagonal entries to be powers of p. Remark Note that lattices are exact, since we may use row operations to reduce each column modulo the power of p on the diagonal (HNF).

slide-67
SLIDE 67

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Operations and variables

Arithmetic operation When computing a new quantity: w = f (v1, . . . , vn), we create a new variable.

slide-68
SLIDE 68

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Operations and variables

Arithmetic operation When computing a new quantity: w = f (v1, . . . , vn), we create a new variable. We add a new column to the precision lattice with entries given by ∂f ∂vi .

slide-69
SLIDE 69

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Operations and variables

Arithmetic operation When computing a new quantity: w = f (v1, . . . , vn), we create a new variable. We add a new column to the precision lattice with entries given by ∂f ∂vi . The resulting matrix is no longer square.

slide-70
SLIDE 70

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Operations and variables

Arithmetic operation When computing a new quantity: w = f (v1, . . . , vn), we create a new variable. We add a new column to the precision lattice with entries given by ∂f ∂vi . The resulting matrix is no longer square.

In one model (ZpLF) we allow such submodules (at the cost of working with inexact objects).

slide-71
SLIDE 71

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Operations and variables

Arithmetic operation When computing a new quantity: w = f (v1, . . . , vn), we create a new variable. We add a new column to the precision lattice with entries given by ∂f ∂vi . The resulting matrix is no longer square.

In one model (ZpLF) we allow such submodules (at the cost of working with inexact objects). In the main model (ZpLC) we add a new row (0, . . . , 0, pC) for some cap C.

slide-72
SLIDE 72

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Return to the original example

Computation We compute successively: x = 4 + O(36), y = 2 + O(34),

slide-73
SLIDE 73

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Return to the original example

Computation We compute successively: x = 4 + O(36), y = 2 + O(34), u = x + y, v = x − y,

slide-74
SLIDE 74

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Return to the original example

Computation We compute successively: x = 4 + O(36), y = 2 + O(34), u = x + y, v = x − y, 2x = u + v, 2y = u − v

slide-75
SLIDE 75

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Return to the original example

Computation We compute successively: x = 4 + O(36), y = 2 + O(34), u = x + y, v = x − y, 2x = u + v, 2y = u − v The corresponding lattice (for ZpLC)         729 729 729 1458 81 81 3486784320 162 10460353203 3486784401 3486784401 3486784401        

slide-76
SLIDE 76

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Correctness and optimality

Proved digits? Our current implementation does not check the smallness condition required to apply the precision lemma, so the results are not provably correct (yet).

slide-77
SLIDE 77

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Correctness and optimality

Proved digits? Our current implementation does not check the smallness condition required to apply the precision lemma, so the results are not provably correct (yet). The precision cap can reduce the precision of the result, but this is checkable a fortiori.

slide-78
SLIDE 78

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Correctness and optimality

Proved digits? Our current implementation does not check the smallness condition required to apply the precision lemma, so the results are not provably correct (yet). The precision cap can reduce the precision of the result, but this is checkable a fortiori. Diffused digits Can quantify the amount of precision lost by checking precision on individual variables.

slide-79
SLIDE 79

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Our package

Correctness and optimality

Proved digits? Our current implementation does not check the smallness condition required to apply the precision lemma, so the results are not provably correct (yet). The precision cap can reduce the precision of the result, but this is checkable a fortiori. Diffused digits Can quantify the amount of precision lost by checking precision on individual variables. More precisely, how far interval arithmetic is from lattice precision: the number of diffused digits.

slide-80
SLIDE 80

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Further demo

Table of contents

1 p-adic precision: direct approach and differential precision

Practical viewpoint Theoretical viewpoint

2 Our package 3 Further demo

slide-81
SLIDE 81

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Further demo

Last demo

Back to Sage.

slide-82
SLIDE 82

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

To sum up

On ZpL

slide-83
SLIDE 83

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

To sum up

On ZpL Two variants available in Sage.

slide-84
SLIDE 84

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

To sum up

On ZpL Two variants available in Sage. Obtain the theoretical optimal precision, except in very small precision (where the precision is too small for the Lemma to apply).

slide-85
SLIDE 85

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

To sum up

On ZpL Two variants available in Sage. Obtain the theoretical optimal precision, except in very small precision (where the precision is too small for the Lemma to apply). There is obviously an overhead cost (rough estimation available in the article).

slide-86
SLIDE 86

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

To sum up

On ZpL Two variants available in Sage. Obtain the theoretical optimal precision, except in very small precision (where the precision is too small for the Lemma to apply). There is obviously an overhead cost (rough estimation available in the article). Well suited for exploration and understanding the behaviour of the precision.

slide-87
SLIDE 87

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

References

Initial article Xavier Caruso, David Roe and Tristan Vaccon Tracking p-adic precision, ANTS XI, 2014. Linear Algebra Xavier Caruso, David Roe and Tristan Vaccon p-adic stability in linear algebra, ISSAC 2015.

slide-88
SLIDE 88

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

ZpL: a p-adic precision package Conclusion

Thank you for your attention

Thanks x + B f B f ′(x) f (x) + f ′(x) · B f ′(x) · B

  • f

x x + O(pN′) y + O(pM′) ⊂ f (x) + O(pN)