Congruent Numbers Definition (Congruent Number) An integer n is - - PowerPoint PPT Presentation

congruent numbers
SMART_READER_LITE
LIVE PREVIEW

Congruent Numbers Definition (Congruent Number) An integer n is - - PowerPoint PPT Presentation

Congruent Number Theta Coefficients to 10 12 William Hart, Gonzalo Tornaria, Mark Watkins July 15, 2010 Congruent Number Theta Coefficients to 10 12 William Hart, Gonzalo Tornaria, Mark Watkins Congruent Numbers Definition (Congruent Number)


slide-1
SLIDE 1

Congruent Number Theta Coefficients to 1012

William Hart, Gonzalo Tornaria, Mark Watkins July 15, 2010

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-2
SLIDE 2

Congruent Numbers

◮ Definition (Congruent Number) An integer n is congruent

if it is the area of a right triangle with rational length sides.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-3
SLIDE 3

Congruent Numbers

◮ Definition (Congruent Number) An integer n is congruent

if it is the area of a right triangle with rational length sides.

◮ E.g. 5, 6, 7, 13, 14, 15, 20, 21, 22, 23, 24, 28, ....

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-4
SLIDE 4

Congruent Numbers

◮ Definition (Congruent Number) An integer n is congruent

if it is the area of a right triangle with rational length sides.

◮ E.g. 5, 6, 7, 13, 14, 15, 20, 21, 22, 23, 24, 28, .... ◮ 5 is the area of the 20/3, 3/2, 41/6 triangle.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-5
SLIDE 5

Congruent Numbers

◮ Definition (Congruent Number) An integer n is congruent

if it is the area of a right triangle with rational length sides.

◮ E.g. 5, 6, 7, 13, 14, 15, 20, 21, 22, 23, 24, 28, .... ◮ 5 is the area of the 20/3, 3/2, 41/6 triangle. ◮ Equivalently n is congruent if there exist rational x, y, z, w

such that x2 + ny2 = z2 and x2 − ny2 = w2.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-6
SLIDE 6

Congruent Numbers

◮ Definition (Congruent Number) An integer n is congruent

if it is the area of a right triangle with rational length sides.

◮ E.g. 5, 6, 7, 13, 14, 15, 20, 21, 22, 23, 24, 28, .... ◮ 5 is the area of the 20/3, 3/2, 41/6 triangle. ◮ Equivalently n is congruent if there exist rational x, y, z, w

such that x2 + ny2 = z2 and x2 − ny2 = w2.

◮ Congruent n correspond to points (u2, v) on the elliptic curve

En : y2 = x3 − n2x.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-7
SLIDE 7

Tunnel’s Criterion

Theorem (Tunnell)

Let n be an odd squarefree positive integer. Set a(n) = #{(x, y, z) ∈ Z3 | x2 + 2y2 + 8z2 = n} − 2 #{(x, y, z) ∈ Z3 | x2 + 2y2 + 32z2 = n}, b(n) = #{(x, y, z) ∈ Z3 | x2 + 4y2 + 8z2 = n} − 2 #{(x, y, z) ∈ Z3 | x2 + 4y2 + 32z2 = n}.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-8
SLIDE 8

Tunnel’s Criterion

Theorem (Tunnell)

Let n be an odd squarefree positive integer. Set a(n) = #{(x, y, z) ∈ Z3 | x2 + 2y2 + 8z2 = n} − 2 #{(x, y, z) ∈ Z3 | x2 + 2y2 + 32z2 = n}, b(n) = #{(x, y, z) ∈ Z3 | x2 + 4y2 + 8z2 = n} − 2 #{(x, y, z) ∈ Z3 | x2 + 4y2 + 32z2 = n}. If n is congruent then a(n) = 0. If 2n is congruent then b(n) = 0.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-9
SLIDE 9

Tunnel’s Criterion

Theorem (Tunnell)

Let n be an odd squarefree positive integer. Set a(n) = #{(x, y, z) ∈ Z3 | x2 + 2y2 + 8z2 = n} − 2 #{(x, y, z) ∈ Z3 | x2 + 2y2 + 32z2 = n}, b(n) = #{(x, y, z) ∈ Z3 | x2 + 4y2 + 8z2 = n} − 2 #{(x, y, z) ∈ Z3 | x2 + 4y2 + 32z2 = n}. If n is congruent then a(n) = 0. If 2n is congruent then b(n) = 0. Moreover, if the weak BSD conjecture is true for the curve y2 = x3 − n2x then the converses also hold: a(n) = 0 implies n is congruent and b(n) = 0 implies 2n is congruent.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-10
SLIDE 10

Theta functions

◮ Define θt = ∞ m=−∞ qtm2.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-11
SLIDE 11

Theta functions

◮ Define θt = ∞ m=−∞ qtm2. ◮

θ8(θ1 − θ4) × (θ8 − 2θ32) =

  • n≡1 (mod 8)

a(n) qn, (θ2 − θ8)(θ1 − θ4) × (θ8 − 2θ32) =

  • n≡3 (mod 8)

a(n) qn, θ16(θ1 − θ4) × (θ8 − 2θ32) =

  • n≡1 (mod 8)

b(n) qn, (θ4 − θ16)(θ1 − θ4) × (θ8 − 2θ32) =

  • n≡5 (mod 8)

b(n) qn.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-12
SLIDE 12

Cyclic Convolution

Definition (Convolution) Given two vectors of length n A = [a0, a1, . . . , an−1] and B = [b0, b1, . . . , bn−1] the cyclic convolution of A, B is C = [c0, c1, . . . , cn−1] where ck =

  • i+j≡k

(mod n)

aibj .

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-13
SLIDE 13

Polynomial Multiplication

Given polynomials of length n, f1(x) = a0 + a1x + · · · + an−1xn−1 f2(x) = b0 + b1x + · · · + bn−1xn−1 computing the product polynomial f1f2(x) = c0 + c1x + · · · c2n−2x2n−2 is linear or acyclic convolution. ck =

  • i+j=k

aibj.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-14
SLIDE 14

Convolution

◮ Cyclic convolution is polynomial multiplication mod xn − 1.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-15
SLIDE 15

Convolution

◮ Cyclic convolution is polynomial multiplication mod xn − 1. ◮ Linear convolution (polynomial multiplication) can be

performed by zero padding to length 2n A = [a0, a1, . . . , an−1, 0, 0, . . . , 0] B = [b0, b1, . . . , bn−1, 0, 0, . . . , 0] then perform cyclic convolution (polynomial multiplication modulo x2n − 1).

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-16
SLIDE 16

Negacyclic Convolution

◮ The negacyclic convolution is polynomial multiplication

modulo xn + 1.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-17
SLIDE 17

Negacyclic Convolution

◮ The negacyclic convolution is polynomial multiplication

modulo xn + 1.

◮ Can be computed by performing the transformation x → ζny

with ζn a primitive 2n-th root of unity (ζn

n = −1).

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-18
SLIDE 18

Negacyclic Convolution

◮ The negacyclic convolution is polynomial multiplication

modulo xn + 1.

◮ Can be computed by performing the transformation x → ζny

with ζn a primitive 2n-th root of unity (ζn

n = −1). ◮ Now perform multiplication modulo yn − 1 using cyclic

convolution.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-19
SLIDE 19

FFT Trick

◮ To compute multiplication modulo x2n − 1, compute it

modulo xn − 1 using the cyclic convolution and compute it modulo xn + 1 using the negacyclic convolution, then recombine using CRT

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-20
SLIDE 20

FFT Trick

◮ To compute multiplication modulo x2n − 1, compute it

modulo xn − 1 using the cyclic convolution and compute it modulo xn + 1 using the negacyclic convolution, then recombine using CRT

◮ The CRT step is an addition, a subtraction and division by 2

(called rescaling)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-21
SLIDE 21

FFT Trick

◮ To compute multiplication modulo x2n − 1, compute it

modulo xn − 1 using the cyclic convolution and compute it modulo xn + 1 using the negacyclic convolution, then recombine using CRT

◮ The CRT step is an addition, a subtraction and division by 2

(called rescaling)

◮ If n = 2kd is divisible by a power of 2, can iterate the FFT

trick a further k times

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-22
SLIDE 22

The DIF FFT

◮ Reduction mod xn − 1 and xn + 1 combined with the

negacyclic transformation x → ζny is called a Decimation In Frequency (DIF) FFT butterfly

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-23
SLIDE 23

The DIF FFT

◮ Reduction mod xn − 1 and xn + 1 combined with the

negacyclic transformation x → ζny is called a Decimation In Frequency (DIF) FFT butterfly

◮ A = [s0, s1, . . . , sn−1, t0, t1, . . . , tn−1]

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-24
SLIDE 24

The DIF FFT

◮ Reduction mod xn − 1 and xn + 1 combined with the

negacyclic transformation x → ζny is called a Decimation In Frequency (DIF) FFT butterfly

◮ A = [s0, s1, . . . , sn−1, t0, t1, . . . , tn−1] ◮ DIF FFT butterfly(A) =

[s0 + t0, s1 + t1, . . . , sn−1 + tn−1, s0 − t0, ζn(s1 − t1), . . . , ζn−1

n

(sn−1 − tn−1)]

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-25
SLIDE 25

The DIF FFT

◮ Reduction mod xn − 1 and xn + 1 combined with the

negacyclic transformation x → ζny is called a Decimation In Frequency (DIF) FFT butterfly

◮ A = [s0, s1, . . . , sn−1, t0, t1, . . . , tn−1] ◮ DIF FFT butterfly(A) =

[s0 + t0, s1 + t1, . . . , sn−1 + tn−1, s0 − t0, ζn(s1 − t1), . . . , ζn−1

n

(sn−1 − tn−1)]

◮ DIF FFT applies a DIF butterfly then squares the root of unity

ζn and recurses first on the left half, then on the right half

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-26
SLIDE 26

The Inverse FFT

◮ Reversing the negacyclic transformation y → ζ−1 n x followed by

CRT recombination (without rescaling) is called an inverse FFT (IFFT) butterfly

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-27
SLIDE 27

The Inverse FFT

◮ Reversing the negacyclic transformation y → ζ−1 n x followed by

CRT recombination (without rescaling) is called an inverse FFT (IFFT) butterfly

◮ A = [s0, s1, . . . , sn−1, t0, t1, . . . , tn−1]

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-28
SLIDE 28

The Inverse FFT

◮ Reversing the negacyclic transformation y → ζ−1 n x followed by

CRT recombination (without rescaling) is called an inverse FFT (IFFT) butterfly

◮ A = [s0, s1, . . . , sn−1, t0, t1, . . . , tn−1] ◮ DIF IFFT butterfly(A) =

[s0 + t0, s1 + ζ−1

n t1, . . . , sn−1 + ζ1−n n

tn−1, s0 − t0, s1 − ζ−1

n t1, . . . , sn−1 − ζ1−n n

tn−1]

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-29
SLIDE 29

The Inverse FFT

◮ Reversing the negacyclic transformation y → ζ−1 n x followed by

CRT recombination (without rescaling) is called an inverse FFT (IFFT) butterfly

◮ A = [s0, s1, . . . , sn−1, t0, t1, . . . , tn−1] ◮ DIF IFFT butterfly(A) =

[s0 + t0, s1 + ζ−1

n t1, . . . , sn−1 + ζ1−n n

tn−1, s0 − t0, s1 − ζ−1

n t1, . . . , sn−1 − ζ1−n n

tn−1]

◮ DIF IFFT recurses first on the left half, then on the right half,

then applies a DIF IFFT butterfly

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-30
SLIDE 30

The FFT Convolution

To compute the cyclic convolution using the FFT and IFFT, suppose we have two vectors of length n = 2kd

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-31
SLIDE 31

The FFT Convolution

To compute the cyclic convolution using the FFT and IFFT, suppose we have two vectors of length n = 2kd

◮ Compute k levels of FFT butterflies

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-32
SLIDE 32

The FFT Convolution

To compute the cyclic convolution using the FFT and IFFT, suppose we have two vectors of length n = 2kd

◮ Compute k levels of FFT butterflies ◮ Perform multiplications mod xd − 1, called “pointwise

multiplications”

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-33
SLIDE 33

The FFT Convolution

To compute the cyclic convolution using the FFT and IFFT, suppose we have two vectors of length n = 2kd

◮ Compute k levels of FFT butterflies ◮ Perform multiplications mod xd − 1, called “pointwise

multiplications”

◮ Perform k levels of IFFT butterflies

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-34
SLIDE 34

The FFT Convolution

To compute the cyclic convolution using the FFT and IFFT, suppose we have two vectors of length n = 2kd

◮ Compute k levels of FFT butterflies ◮ Perform multiplications mod xd − 1, called “pointwise

multiplications”

◮ Perform k levels of IFFT butterflies ◮ Rescale by 2k

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-35
SLIDE 35

The FFT Convolution

To compute the cyclic convolution using the FFT and IFFT, suppose we have two vectors of length n = 2kd

◮ Compute k levels of FFT butterflies ◮ Perform multiplications mod xd − 1, called “pointwise

multiplications”

◮ Perform k levels of IFFT butterflies ◮ Rescale by 2k ◮ If n = 2k FFT convolution can be performed in time

O(n log n) coefficient operations

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-36
SLIDE 36

Polynomials over Z/pZ

◮ Break f (x) in R = Z/pZ[x] into pieces of length 2k−1 and

zero pad each to length 2k

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-37
SLIDE 37

Polynomials over Z/pZ

◮ Break f (x) in R = Z/pZ[x] into pieces of length 2k−1 and

zero pad each to length 2k

◮ Consider these to be coefficients of a polynomial

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-38
SLIDE 38

Polynomials over Z/pZ

◮ Break f (x) in R = Z/pZ[x] into pieces of length 2k−1 and

zero pad each to length 2k

◮ Consider these to be coefficients of a polynomial ◮ Think of these “coefficients” as being in the ring

S = R/(x2k + 1)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-39
SLIDE 39

Polynomials over Z/pZ

◮ Break f (x) in R = Z/pZ[x] into pieces of length 2k−1 and

zero pad each to length 2k

◮ Consider these to be coefficients of a polynomial ◮ Think of these “coefficients” as being in the ring

S = R/(x2k + 1)

◮ Perform an FFT over the ring S

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-40
SLIDE 40

Polynomials over Z/pZ

◮ Break f (x) in R = Z/pZ[x] into pieces of length 2k−1 and

zero pad each to length 2k

◮ Consider these to be coefficients of a polynomial ◮ Think of these “coefficients” as being in the ring

S = R/(x2k + 1)

◮ Perform an FFT over the ring S ◮ Note x is a 2k+1-th root of unity

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-41
SLIDE 41

Polynomials over Z/pZ

◮ Break f (x) in R = Z/pZ[x] into pieces of length 2k−1 and

zero pad each to length 2k

◮ Consider these to be coefficients of a polynomial ◮ Think of these “coefficients” as being in the ring

S = R/(x2k + 1)

◮ Perform an FFT over the ring S ◮ Note x is a 2k+1-th root of unity ◮ Can use the negacyclic transformation to do pointwise

multiplications in S, or algorithm of your choice

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-42
SLIDE 42

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-43
SLIDE 43

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

◮ The Matrix Fourier Algorithm improves cache locality

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-44
SLIDE 44

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

◮ The Matrix Fourier Algorithm improves cache locality ◮ Write y = x2n1 and let

f (x) = f1(y) + xf2(y) + x2f3(y) + · · · + x2n1−1f2n1−1(y) with each fi of length 2n2

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-45
SLIDE 45

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

◮ The Matrix Fourier Algorithm improves cache locality ◮ Write y = x2n1 and let

f (x) = f1(y) + xf2(y) + x2f3(y) + · · · + x2n1−1f2n1−1(y) with each fi of length 2n2

◮ Can be thought of as:

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-46
SLIDE 46

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

◮ The Matrix Fourier Algorithm improves cache locality ◮ Write y = x2n1 and let

f (x) = f1(y) + xf2(y) + x2f3(y) + · · · + x2n1−1f2n1−1(y) with each fi of length 2n2

◮ Can be thought of as:

(i) do 2n1 FFT’s of length 2n2 (reduce the coeffs of the fi’s mod y − ζi)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-47
SLIDE 47

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

◮ The Matrix Fourier Algorithm improves cache locality ◮ Write y = x2n1 and let

f (x) = f1(y) + xf2(y) + x2f3(y) + · · · + x2n1−1f2n1−1(y) with each fi of length 2n2

◮ Can be thought of as:

(i) do 2n1 FFT’s of length 2n2 (reduce the coeffs of the fi’s mod y − ζi) (ii) twist by powers of ζ (reduce the xj’s mod the appropriate x − ζi’s)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-48
SLIDE 48

Cache Friendliness

◮ The DIF FFT is fairly cache friendly as the working set

quickly becomes localised

◮ The Matrix Fourier Algorithm improves cache locality ◮ Write y = x2n1 and let

f (x) = f1(y) + xf2(y) + x2f3(y) + · · · + x2n1−1f2n1−1(y) with each fi of length 2n2

◮ Can be thought of as:

(i) do 2n1 FFT’s of length 2n2 (reduce the coeffs of the fi’s mod y − ζi) (ii) twist by powers of ζ (reduce the xj’s mod the appropriate x − ζi’s) (iii) do 2n2 FFT’s of length 2n1 (reduce mod each x − ζi)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-49
SLIDE 49

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-50
SLIDE 50

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-51
SLIDE 51

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-52
SLIDE 52

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

(i) bundle blocks of coefficients using Kronecker Segmentation into large integer coefficients

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-53
SLIDE 53

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

(i) bundle blocks of coefficients using Kronecker Segmentation into large integer coefficients (ii) Reduce large coefficients modulo many small primes

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-54
SLIDE 54

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

(i) bundle blocks of coefficients using Kronecker Segmentation into large integer coefficients (ii) Reduce large coefficients modulo many small primes (iii) Perform power series multiplications over Z/pZ in-core, performing truncation in-core

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-55
SLIDE 55

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

(i) bundle blocks of coefficients using Kronecker Segmentation into large integer coefficients (ii) Reduce large coefficients modulo many small primes (iii) Perform power series multiplications over Z/pZ in-core, performing truncation in-core (iv) Recombine using CRT

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-56
SLIDE 56

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

(i) bundle blocks of coefficients using Kronecker Segmentation into large integer coefficients (ii) Reduce large coefficients modulo many small primes (iii) Perform power series multiplications over Z/pZ in-core, performing truncation in-core (iv) Recombine using CRT (v) Recover small coefficients from large product coefficients

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-57
SLIDE 57

Out-of-core FFT

◮ Can do length 2n2 and 2n1 FFT’s in memory and keep rest of

data on disk using Matrix Fourier Algorithm

◮ Problem: power series truncation can only be done after all

FFT’s complete

◮ Solution:

(i) bundle blocks of coefficients using Kronecker Segmentation into large integer coefficients (ii) Reduce large coefficients modulo many small primes (iii) Perform power series multiplications over Z/pZ in-core, performing truncation in-core (iv) Recombine using CRT (v) Recover small coefficients from large product coefficients

◮ Lose log n factor in complexity (due to CRT), but gain factor

  • f 2 in I/O and disk space

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-58
SLIDE 58

Congruent numbers up to 1012

◮ In 2009 we computed 1012 terms of the congruent number

theta function by multiplying power series

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-59
SLIDE 59

Congruent numbers up to 1012

◮ In 2009 we computed 1012 terms of the congruent number

theta function by multiplying power series

◮ Used David Harvey’s zn poly (or FLINT) for the polynomial

multiplication over Z/pZ

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-60
SLIDE 60

Congruent numbers up to 1012

◮ In 2009 we computed 1012 terms of the congruent number

theta function by multiplying power series

◮ Used David Harvey’s zn poly (or FLINT) for the polynomial

multiplication over Z/pZ

◮ Wrote code for Kronecker segmentation, modular reduction,

CRT, transposes, etc

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-61
SLIDE 61

Congruent numbers up to 1012

◮ In 2009 we computed 1012 terms of the congruent number

theta function by multiplying power series

◮ Used David Harvey’s zn poly (or FLINT) for the polynomial

multiplication over Z/pZ

◮ Wrote code for Kronecker segmentation, modular reduction,

CRT, transposes, etc

◮ Used OpenMP for parallelism (16 cores)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-62
SLIDE 62

Congruent numbers up to 1012

◮ In 2009 we computed 1012 terms of the congruent number

theta function by multiplying power series

◮ Used David Harvey’s zn poly (or FLINT) for the polynomial

multiplication over Z/pZ

◮ Wrote code for Kronecker segmentation, modular reduction,

CRT, transposes, etc

◮ Used OpenMP for parallelism (16 cores) ◮ Used mmap kernel service for disk I/O

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-63
SLIDE 63

Congruent numbers up to 1012

◮ In 2009 we computed 1012 terms of the congruent number

theta function by multiplying power series

◮ Used David Harvey’s zn poly (or FLINT) for the polynomial

multiplication over Z/pZ

◮ Wrote code for Kronecker segmentation, modular reduction,

CRT, transposes, etc

◮ Used OpenMP for parallelism (16 cores) ◮ Used mmap kernel service for disk I/O ◮ Code now part of FLINT (thetaproduct.c)

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-64
SLIDE 64

1 (mod 8) Class

109 1010 1011 3801661 21768969 142778019 2 × 1011 3 × 1011 4 × 1011 127475330 115249740 107930081 5 × 1011 6 × 1011 7 × 1011 102774355 98817294 95656907 8 × 1011 9 × 1011 1012 93030373 90748990 88803354 Table 1 : Congruent numbers in the 1 (mod 8) class.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-65
SLIDE 65

3 (mod 8) Class

109 1010 1011 2921535 17019170 112979066 2 × 1011 3 × 1011 4 × 1011 101436853 91949066 86213764 5 × 1011 6 × 1011 7 × 1011 82196846 79106503 76626341 8 × 1011 9 × 1011 1012 74546400 72781203 71239101 Table 2 : Congruent numbers in the 3 (mod 8) class.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-66
SLIDE 66

2 (mod 16) Class

109 1010 1011 2110645 12294626 81759844 2 × 1011 3 × 1011 4 × 1011 73445274 66579936 62455317 5 × 1011 6 × 1011 7 × 1011 59536672 57282587 55504389 8 × 1011 9 × 1011 1012 53993974 52728711 51619397 Table 3 : Congruent numbers in the 2 (mod 16) class.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012

slide-67
SLIDE 67

10 (mod 16) Class

109 1010 1011 1842072 10842882 72556705 2 × 1011 3 × 1011 4 × 1011 65378932 59347550 55720114 5 × 1011 6 × 1011 7 × 1011 53152609 51190025 49599296 8 × 1011 9 × 1011 1012 48268971 47158661 46159584 Table 4 : Congruent numbers in the 10 (mod 16) class.

William Hart, Gonzalo Tornaria, Mark Watkins Congruent Number Theta Coefficients to 1012