Ore Polynomials in Sage Manuel Kauers joint work with Maximilian - - PowerPoint PPT Presentation

ore polynomials in sage
SMART_READER_LITE
LIVE PREVIEW

Ore Polynomials in Sage Manuel Kauers joint work with Maximilian - - PowerPoint PPT Presentation

Ore Polynomials in Sage Manuel Kauers joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU. 1 Ore Polynomials in Sage Manuel Kauers joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU. 1 Sage Mathematica


slide-1
SLIDE 1

Ore Polynomials in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

1

slide-2
SLIDE 2

Ore Polynomials in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

1

slide-3
SLIDE 3

Sage Mathematica computation speed programming speed

2

slide-4
SLIDE 4

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 10 20 30 40 time

3

slide-5
SLIDE 5

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 10 20 30 40 time

3

slide-6
SLIDE 6

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-7
SLIDE 7

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-8
SLIDE 8

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-9
SLIDE 9

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-10
SLIDE 10

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-11
SLIDE 11

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-12
SLIDE 12

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-13
SLIDE 13

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-14
SLIDE 14

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-15
SLIDE 15

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 35 time

3

slide-16
SLIDE 16

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 time

3

slide-17
SLIDE 17

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 time

3

slide-18
SLIDE 18

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 time

3

slide-19
SLIDE 19

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 time

3

slide-20
SLIDE 20

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 time

3

slide-21
SLIDE 21

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 30 time

3

slide-22
SLIDE 22

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 time

3

slide-23
SLIDE 23

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 time

3

slide-24
SLIDE 24

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 time

3

slide-25
SLIDE 25

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 time

3

slide-26
SLIDE 26

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 25 time

3

slide-27
SLIDE 27

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 time

3

slide-28
SLIDE 28

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 time

3

slide-29
SLIDE 29

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 time

3

slide-30
SLIDE 30

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 time

3

slide-31
SLIDE 31

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 20 time

3

slide-32
SLIDE 32

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 time

3

slide-33
SLIDE 33

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 time

3

slide-34
SLIDE 34

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 time

3

slide-35
SLIDE 35

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 5 10 15 time

3

slide-36
SLIDE 36

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 12 14 time

3

slide-37
SLIDE 37

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 12 14 time

3

slide-38
SLIDE 38

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 12 14 time

3

slide-39
SLIDE 39

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 12 time

3

slide-40
SLIDE 40

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 12 time

3

slide-41
SLIDE 41

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 12 time

3

slide-42
SLIDE 42

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 time

3

slide-43
SLIDE 43

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 10 time

3

slide-44
SLIDE 44

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 time

3

slide-45
SLIDE 45

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 time

3

slide-46
SLIDE 46

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 time

3

slide-47
SLIDE 47

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 2 4 6 8 time

3

slide-48
SLIDE 48

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 5 6 7 time

3

slide-49
SLIDE 49

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 5 6 7 time

3

slide-50
SLIDE 50

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 5 6 time

3

slide-51
SLIDE 51

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 5 6 time

3

slide-52
SLIDE 52

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 5 time

3

slide-53
SLIDE 53

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 5 time

3

slide-54
SLIDE 54

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 time

3

slide-55
SLIDE 55

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 time

3

slide-56
SLIDE 56

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 1 2 3 4 time

3

slide-57
SLIDE 57

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 2.5 3.0 3.5 time

3

slide-58
SLIDE 58

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 2.5 3.0 time

3

slide-59
SLIDE 59

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 2.5 3.0 time

3

slide-60
SLIDE 60

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 2.5 time

3

slide-61
SLIDE 61

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 2.5 time

3

slide-62
SLIDE 62

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 time

3

slide-63
SLIDE 63

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 2.0 time

3

slide-64
SLIDE 64

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 time

3

slide-65
SLIDE 65

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.5 1.0 1.5 time

3

slide-66
SLIDE 66

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.2 0.4 0.6 0.8 1.0 1.2 1.4 time

3

slide-67
SLIDE 67

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.2 0.4 0.6 0.8 1.0 1.2 time

3

slide-68
SLIDE 68

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.2 0.4 0.6 0.8 1.0 time

3

slide-69
SLIDE 69

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.2 0.4 0.6 0.8 1.0 time

3

slide-70
SLIDE 70

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.2 0.4 0.6 0.8 time

3

slide-71
SLIDE 71

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.1 0.2 0.3 0.4 0.5 0.6 0.7 time

3

slide-72
SLIDE 72

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.1 0.2 0.3 0.4 0.5 0.6 time

3

slide-73
SLIDE 73

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.1 0.2 0.3 0.4 0.5 time

3

slide-74
SLIDE 74

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.1 0.2 0.3 0.4 0.5 time

3

slide-75
SLIDE 75

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.1 0.2 0.3 0.4 time

3

slide-76
SLIDE 76

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.05 0.10 0.15 0.20 0.25 0.30 0.35 time

3

slide-77
SLIDE 77

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.05 0.10 0.15 0.20 0.25 0.30 time

3

slide-78
SLIDE 78

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.05 0.10 0.15 0.20 0.25 time

3

slide-79
SLIDE 79

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.05 0.10 0.15 0.20 time

3

slide-80
SLIDE 80

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.05 0.10 0.15 time

3

slide-81
SLIDE 81

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.02 0.04 0.06 0.08 0.10 0.12 0.14 time

3

slide-82
SLIDE 82

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.02 0.04 0.06 0.08 0.10 0.12 time

3

slide-83
SLIDE 83

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.02 0.04 0.06 0.08 0.10 time

3

slide-84
SLIDE 84

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.02 0.04 0.06 0.08 time

3

slide-85
SLIDE 85

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.01 0.02 0.03 0.04 0.05 0.06 time

3

slide-86
SLIDE 86

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.01 0.02 0.03 0.04 0.05 time

3

slide-87
SLIDE 87

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.005 0.010 0.015 0.020 0.025 0.030 0.035 time

3

slide-88
SLIDE 88

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.005 0.010 0.015 0.020 0.025 time

3

slide-89
SLIDE 89

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.005 0.010 0.015 0.020 time

3

slide-90
SLIDE 90

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.005 0.010 0.015 time

3

slide-91
SLIDE 91

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.002 0.004 0.006 0.008 0.010 time

3

slide-92
SLIDE 92

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.002 0.004 0.006 0.008 time

3

slide-93
SLIDE 93

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.001 0.002 0.003 0.004 0.005 time

3

slide-94
SLIDE 94

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.0005 0.0010 0.0015 0.0020 0.0025 0.0030 0.0035 time

3

slide-95
SLIDE 95

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.0005 0.0010 0.0015 0.0020 time

3

slide-96
SLIDE 96

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.0002 0.0004 0.0006 0.0008 0.0010 0.0012 0.0014 time

3

slide-97
SLIDE 97

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.0002 0.0004 0.0006 0.0008 time

3

slide-98
SLIDE 98

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.0001 0.0002 0.0003 0.0004 time

3

slide-99
SLIDE 99

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00005 0.00010 0.00015 0.00020 0.00025 time

3

slide-100
SLIDE 100

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00005 0.00010 0.00015 time

3

slide-101
SLIDE 101

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.00010 0.00012 time

3

slide-102
SLIDE 102

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.0001 time

3

slide-103
SLIDE 103

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.0001 time

3

slide-104
SLIDE 104

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.0001 time

3

slide-105
SLIDE 105

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.0001 time

3

slide-106
SLIDE 106

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.0001 time 670000x

3

slide-107
SLIDE 107

A Computation Speed Comparison

Multiplication time for dense polynomials with integer coefficients in Mathematica and Sage (Flint)

2000 4000 6000 8000 10 000 deg 0.00002 0.00004 0.00006 0.00008 0.0001 time 74000x 670000x

3

slide-108
SLIDE 108

A Programming Speed Comparison

4

slide-109
SLIDE 109

A ///////////////// Code Length Programming Speed Comparison

4

slide-110
SLIDE 110

A ///////////////// Code Length Programming Speed Comparison

Find a polynomial solution of prescribed degree of a given recurrence.

4

slide-111
SLIDE 111

A ///////////////// Code Length Programming Speed Comparison

Find a polynomial solution of prescribed degree of a given recurrence.

4

slide-112
SLIDE 112

A ///////////////// Code Length Programming Speed Comparison

Find a polynomial solution of prescribed degree of a given recurrence.

4

slide-113
SLIDE 113

Ore Polynomials in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

5

slide-114
SLIDE 114

Ore Polynomials in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

5

slide-115
SLIDE 115

◮ Idea: Represent a “function” or a “sequence” f by an

equation of which it is a solution.

6

slide-116
SLIDE 116

◮ Idea: Represent a “function” or a “sequence” f by an

equation of which it is a solution.

◮ Represent an “equation” for f by an “operator” which maps

this function to zero.

6

slide-117
SLIDE 117

◮ Idea: Represent a “function” or a “sequence” f by an

equation of which it is a solution.

◮ Represent an “equation” for f by an “operator” which maps

this function to zero.

◮ Examples:

◮ e2x is killed by L = D − 2, where D =

d dx.

6

slide-118
SLIDE 118

◮ Idea: Represent a “function” or a “sequence” f by an

equation of which it is a solution.

◮ Represent an “equation” for f by an “operator” which maps

this function to zero.

◮ Examples:

◮ e2x is killed by L = D − 2, where D =

d dx.

◮ 2n is killed by L = E − 2, where E ≡ n n + 1 6

slide-119
SLIDE 119

◮ Idea: Represent a “function” or a “sequence” f by an

equation of which it is a solution.

◮ Represent an “equation” for f by an “operator” which maps

this function to zero.

◮ Examples:

◮ log(1 − √x) is killed by

L = 2x(x − 1)D3 + (7x − 3)D2 + 3D.

6

slide-120
SLIDE 120

◮ Idea: Represent a “function” or a “sequence” f by an

equation of which it is a solution.

◮ Represent an “equation” for f by an “operator” which maps

this function to zero.

◮ Examples:

◮ log(1 − √x) is killed by

L = 2x(x − 1)D3 + (7x − 3)D2 + 3D.

n

  • k=1

k

  • i=1

1 i + k is killed by L = (2n + 7)(n + 4)E3 − (6n2 − 41n − 71)E2 + (6n2 + 37n + 58)E − (n + 3)(2n + 5)

6

slide-121
SLIDE 121

◮ These operators are called Ore Polynomials.

7

slide-122
SLIDE 122

◮ These operators are called Ore Polynomials. ◮ They live in an Ore Algebra.

7

slide-123
SLIDE 123

◮ These operators are called Ore Polynomials. ◮ They live in an Ore Algebra. ◮ They act on a “Function Space.”

7

slide-124
SLIDE 124

Definition (Ore Algebra)

8

slide-125
SLIDE 125

Definition (Ore Algebra)

◮ Let R be a ring

8

slide-126
SLIDE 126

Definition (Ore Algebra)

◮ Let R be a ring ◮ Let σ: R → R be an endomorphism, i.e.,

σ(a + b) = σ(a) + σ(b) and σ(ab) = σ(a)σ(b)

8

slide-127
SLIDE 127

Definition (Ore Algebra)

◮ Let R be a ring ◮ Let σ: R → R be an endomorphism ◮ Let δ: R → R be a “σ-derivation”, i.e.,

δ(a + b) = δ(a) + δ(b) and δ(ab) = δ(a)b + σ(a)δ(b)

8

slide-128
SLIDE 128

Definition (Ore Algebra)

◮ Let R be a ring ◮ Let σ: R → R be an endomorphism ◮ Let δ: R → R be a “σ-derivation” ◮ Let A = R[∂] be the set of all univariate polynomials in ∂

with coefficients in R.

8

slide-129
SLIDE 129

Definition (Ore Algebra)

◮ Let R be a ring ◮ Let σ: R → R be an endomorphism ◮ Let δ: R → R be a “σ-derivation” ◮ Let A = R[∂] be the set of all univariate polynomials in ∂

with coefficients in R.

◮ Let + be the usual polynomial addition.

8

slide-130
SLIDE 130

Definition (Ore Algebra)

◮ Let R be a ring ◮ Let σ: R → R be an endomorphism ◮ Let δ: R → R be a “σ-derivation” ◮ Let A = R[∂] be the set of all univariate polynomials in ∂

with coefficients in R.

◮ Let + be the usual polynomial addition. ◮ Let · be the unique (noncommutative) multiplication in A

which extends the multiplication in R and satisfies ∂a = σ(a)∂ + δ(a) for all a ∈ R.

8

slide-131
SLIDE 131

Definition (Ore Algebra)

◮ Let R be a ring ◮ Let σ: R → R be an endomorphism ◮ Let δ: R → R be a “σ-derivation” ◮ Let A = R[∂] be the set of all univariate polynomials in ∂

with coefficients in R.

◮ Let + be the usual polynomial addition. ◮ Let · be the unique (noncommutative) multiplication in A

which extends the multiplication in R and satisfies ∂a = σ(a)∂ + δ(a) for all a ∈ R.

◮ Then A together with this + and · is called an Ore Algebra.

8

slide-132
SLIDE 132

Examples:

9

slide-133
SLIDE 133

Examples:

◮ For R = Q[x], σ = id, δ = d dx, we have that

A = R[∂] = Q[x][∂] is the ring of linear differential operators with polynomial coefficients.

9

slide-134
SLIDE 134

Examples:

◮ For R = Q[x], σ = id, δ = d dx, we have that

A = R[∂] = Q[x][∂] is the ring of linear differential operators with polynomial coefficients.

◮ For R = Q[n], σ: R → R defined by σ(c) = c for all c ∈ Q

and σ(n) = n + 1, and δ = 0, we have that A = R[∂] = Q[n][∂] is the ring of linear recurrence operators with polynomial coefficients.

9

slide-135
SLIDE 135

Examples:

◮ For R = Q[x], σ = id, δ = d dx, we have that

A = R[∂] = Q[x][∂] is the ring of linear differential operators with polynomial coefficients.

◮ For R = Q[n], σ: R → R defined by σ(c) = c for all c ∈ Q

and σ(n) = n + 1, and δ = 0, we have that A = R[∂] = Q[n][∂] is the ring of linear recurrence operators with polynomial coefficients.

◮ There are other examples. . .

9

slide-136
SLIDE 136

Ore algebras A = R[∂] can act on an R-module F via a suitable “interpretation” of the algebra’s generator ∂.

10

slide-137
SLIDE 137

Ore algebras A = R[∂] can act on an R-module F via a suitable “interpretation” of the algebra’s generator ∂. We want the action A × F → F, (a, f) → a · f

10

slide-138
SLIDE 138

Ore algebras A = R[∂] can act on an R-module F via a suitable “interpretation” of the algebra’s generator ∂. We want the action A × F → F, (a, f) → a · f to be such that (a + b) · f = a · f + b · f (ab) · f = a · (b · f) a · (f + g) = a · f + a · g for all a, b ∈ A, f, g ∈ F.

10

slide-139
SLIDE 139

Ore algebras A = R[∂] can act on an R-module F via a suitable “interpretation” of the algebra’s generator ∂. Examples:

◮ The Ore algebra A = Q[x][Dx] acts on C∞(C, C) via

(a0(x) + a1(x)Dx + · · · + ar(x)Dr

x) · f(z)

= a0(z)f(z) + a1(z)f′(z) + · · · + ar(z)f(r)(z).

10

slide-140
SLIDE 140

Ore algebras A = R[∂] can act on an R-module F via a suitable “interpretation” of the algebra’s generator ∂. Examples:

◮ The Ore algebra A = Q[x][Dx] acts on C∞(C, C) via

(a0(x) + a1(x)Dx + · · · + ar(x)Dr

x) · f(z)

= a0(z)f(z) + a1(z)f′(z) + · · · + ar(z)f(r)(z).

◮ The Ore algebra A = Q[n][En] acts on the space CN via

(a0(n) + a1(n)En + · · · + ar(n)Er

n) · f(n)

= a0(n)f(n) + a1(n)f(n + 1) + · · · + ar(n)f(n + r).

10

slide-141
SLIDE 141

◮ The annihilator of f ∈ F is defined as

ann(f) :=

  • a ∈ R[∂] : a · f = 0
  • .

It is a subset of R[∂]. Its elements are called annihilating

  • perators for f.

◮ The solution space of a ∈ R[∂] is defined as

V (a) :=

  • f ∈ F : a · f = 0
  • .

It is a subset of F. Its elements are called solutions of a.

11

slide-142
SLIDE 142

Want: Obtain information about f by doing computations in R[∂].

12

slide-143
SLIDE 143

Want: Obtain information about f by doing computations in R[∂]. Don’t want: do these computations by hand.

12

slide-144
SLIDE 144

Want: Obtain information about f by doing computations in R[∂]. Don’t want: do these computations by hand. Instead: have them done by a computer algebra package.

12

slide-145
SLIDE 145

Ore Polynomials in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

13

slide-146
SLIDE 146

Ore Polynomials /////// elsewhere in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

13

slide-147
SLIDE 147

◮ For Mathematica:

◮ univariate: Mallinger’s package ◮ multivariate: Koutschan’s package.

◮ For Maple:

◮ univariate: gfun by Salvy/Zimmermann

  • r OreTools by Abramov et al.

◮ multivariate: mgfun by Chyzak 14

slide-148
SLIDE 148

Ore Polynomials /////// elsewhere in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

15

slide-149
SLIDE 149

Ore Polynomials in Sage

Manuel Kauers

joint work with Maximilian Jaroschek and Fredrik Johansson RISC, JKU.

15

slide-150
SLIDE 150

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

16

slide-151
SLIDE 151

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

16

slide-152
SLIDE 152

Algebra RingElement OreAlgebra OreOperator UnivariateOreOperator MultivariateOreOperator UnivariateOreOperatorOverUnivariateRing UnivariateDifferentialOperatorOverUnivariateRing . . . . . . . . . . . . 17

slide-153
SLIDE 153

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

18

slide-154
SLIDE 154

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

18

slide-155
SLIDE 155

Runtime for computing the least common left multiple of two random operators from Z[x][Dx] of order n and degree 2n

◮ in Mathematica (i.e., Koutschan’s code) ◮ in Sage (i.e., our code)

5 10 15 20 n 100 200 300 400 500 600 700 time

19

slide-156
SLIDE 156

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

20

slide-157
SLIDE 157

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

20

slide-158
SLIDE 158

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing

20

slide-159
SLIDE 159

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing ◮ Built-in code for polynomial matrices

20

slide-160
SLIDE 160

A typical linear algebra problem arising in this context: compute a nullspace vector for the following matrix over Z[x]: Degrees:

200 400 600 800 1000

21

slide-161
SLIDE 161

A typical linear algebra problem arising in this context: compute a nullspace vector for the following matrix over Z[x]: Total matrix size (number of monomials) during the elimination:

100 200 300 400 500 600 5.0 106 1.0 107 1.5 107 2.0 107 2.5 107 3.0 107 3.5 107

green: naive code, blue: our code, red: Axel Riese’s Mathematica code.

21

slide-162
SLIDE 162

Key Features:

◮ Construction of Ore algebras and Ore polynomials ◮ GCRD, Closure properties, Desingularization ◮ Various types of solutions ◮ Guessing ◮ Built-in code for polynomial matrices

22

slide-163
SLIDE 163

To do:

◮ operator factorization and fast arithmetic ◮ arbitrary precision evaluation of analytic D-finite functions ◮ construction of an annihilator from an expression ◮ the multivariate case, incl. Gr¨

  • bner bases and creative

telescoping.

23

slide-164
SLIDE 164

24