between dense and sparse polynomial multiplication

53
Introduction Chunky Equal-Spaced Implementation Future Work Between Dense and Sparse Polynomial Multiplication Daniel S. Roche Drexel University May 9, 2011

Upload: others

Post on 04-Dec-2021

16 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Between Dense and SparsePolynomial Multiplication

Daniel S. Roche

Drexel UniversityMay 9, 2011

Page 2: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

What is a polynomial?

A polynomial is any formula involving +,−,× on indeterminatesand constants from a ring R.

Examples over R = Z

4x10 − 3x8 − x7 + 3x6 + x5 − 2x4 + 2x3 + 5x2

x451 − 9x324 − 3x306 + 9x299 + 4x196 − 9x155 − 2x144 + 10x27

6x484 − 9x482 + 10x481 − 2x33 − 2x32 − 7x29 + 8x28 − 7x27

−x426 − 6x273 + 10x246 − 10x210 + 2x156 − 9x48 − 3x21 − 9x12

Page 3: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

What is a polynomial?

A polynomial is any formula involving +,−,× on indeterminatesand constants from a ring R.

Examples over R = Z

4x10 − 3x8 − x7 + 3x6 + x5 − 2x4 + 2x3 + 5x2

x451 − 9x324 − 3x306 + 9x299 + 4x196 − 9x155 − 2x144 + 10x27

6x484 − 9x482 + 10x481 − 2x33 − 2x32 − 7x29 + 8x28 − 7x27

−x426 − 6x273 + 10x246 − 10x210 + 2x156 − 9x48 − 3x21 − 9x12

Page 4: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

What is a polynomial?

A polynomial is any formula involving +,−,× on indeterminatesand constants from a ring R.

Examples over R = Z

4x10 − 3x8 − x7 + 3x6 + x5 − 2x4 + 2x3 + 5x2

x451 − 9x324 − 3x306 + 9x299 + 4x196 − 9x155 − 2x144 + 10x27

6x484 − 9x482 + 10x481 − 2x33 − 2x32 − 7x29 + 8x28 − 7x27

−x426 − 6x273 + 10x246 − 10x210 + 2x156 − 9x48 − 3x21 − 9x12

Page 5: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

What is a polynomial?

A polynomial is any formula involving +,−,× on indeterminatesand constants from a ring R.

Examples over R = Z

4x10 − 3x8 − x7 + 3x6 + x5 − 2x4 + 2x3 + 5x2

x451 − 9x324 − 3x306 + 9x299 + 4x196 − 9x155 − 2x144 + 10x27

6x484 − 9x482 + 10x481 − 2x33 − 2x32 − 7x29 + 8x28 − 7x27

−x426 − 6x273 + 10x246 − 10x210 + 2x156 − 9x48 − 3x21 − 9x12

Page 6: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Polynomial Arithmetic

• Addition/subtraction of polynomials is trivial.

• Division uses multiplication as a subroutine.

• Multiplication is the most important basic computationalproblem on polynomials.

Application areas

• Cryptography

• Coding theory

• Symbolic computation

• Scientific computing

• Experimental mathematics

Page 7: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Polynomial Representations

Let f = 7 + 5xy8 + 2x6y2 + 6x6y5 + x10.

Dense representation:0 5 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 6 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 2 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0

7 0 0 0 0 0 0 0 0 0 1

Degree dn variables

t nonzero terms

Dense size:O(dn) coefficients

O(tn log d) bits

Page 8: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Polynomial Representations

Let f = 7 + 5xy8 + 2x6y2 + 6x6y5 + x10.

Recursive dense representation:0 5 0 0

0 0 0 0

0 0 0 0

0 0 6 0

0 0 0 0

0 0 0 0

0 0 2 0

0 0 0 0

7 0 0 0 0 0 0 0 0 0 1

Degree dn variables

t nonzero terms

Recursive dense size:O(tdn) coefficients

O(tn log d) bits

Page 9: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Polynomial Representations

Let f = 7 + 5xy8 + 2x6y2 + 6x6y5 + x10.

Sparse representation:

0 8 2 5 0

0 1 6 6 10

7 5 2 6 1

Degree dn variables

t nonzero terms

Sparse size:O(t) coefficientsO(tn log d) bits

Page 10: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Dense Multiplication AlgorithmsCost (in ring operations) of multiplying two univariate densepolynomials with degrees less than d:

Cost

Classical Method O(d2)

Divide-and-ConquerKaratsuba ’63

O(dlog2 3) or O(d1.59)

FFT-basedSchonhage/Strassen ’71

Cantor/Kaltofen ’91O(d log d llog d)

We write M(d) for this cost.

Page 11: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Sparse Multiplication Algorithms

Cost of multiplying two univariate sparse polynomials with degreesless than d and at most t nonzero terms:

Ring operations Bit operations

Naıve t2 O(t3 log d)

Geobuckets(Yan ’98)

t2 O(t2 log t log d)

Heaps(Johnson ’74)

(Monagan & Pearce ’07)t2 O(t2 log t log d)

Page 12: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Application: Cryptography

Public key cryptography is used extensively in communications.There are two popular flavors:

RSA

Requires integercomputations modulo a largeinteger (thousands of bits).Long integer multiplicationalgorithms are generally thesame as those for (dense)polynomials.

ECC

Usually requirescomputations in a finiteextension field — i.e.computations modulo apolynomial (degree in thehundreds).

In both cases, sparse integers/polynomials are used to makeschemes more efficient.

Page 13: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Application: Nonlinear Systems

Nonlinear systems of polynomial equations can be used todescribe and model a variety of physical phenomena.

Numerous methods can be used to solve nonlinear systems, butusually:

• Inputs are sparse multivariate polynomials

• Intermediate values become dense.

One approach (used in triangular sets) simply switches fromsparse to dense methods heuristically.

Page 14: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Adaptive multiplication

Goal: Develop algorithms which smoothly interpolate the costbetween existing dense and sparse methods.

Ground rules

1 The cost must never be greater than any standard dense orsparse algorithm.

2 The cost should be less than both in many “easy cases”.

Page 15: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Overall Approach

Overall Steps

1 Recognize structure

2 Change rep. toexploit structure

3 Multiply

4 Convert back

• Step 3 cost dependson instance difficulty.

• Steps 1, 2, 4 must befast (linear time).

Page 16: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Chunky Polynomials

Example

• f = 5x6 + 6x7 − 4x9 − 7x52 + 4x53 + 3x76 + x78

• f1 = 5 + 6x − 4x3, f2 = −7 + 4x, f3 = 3 + x2

• f = f1x6 + f2x52 + f3x76

Page 17: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Chunky Polynomials

Example

• f = 5x6 + 6x7 − 4x9 − 7x52 + 4x53 + 3x76 + x78

• f1 = 5 + 6x − 4x3, f2 = −7 + 4x, f3 = 3 + x2

• f = f1x6 + f2x52 + f3x76

Page 18: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Chunky MultiplicationSparse algorithms on the outside, dense algorithms on the inside.• Exponent arithmetic stays the same.• Coefficient arithmetic is more costly.• Terms in product may have more overlap.

Theorem

Givenf = f1xe1 + f2xe2 + · · · + ftxet

g = g1xd1 + g2xd2 + · · · + gsxds ,

the cost of chunky multiplication (in ring operations) is

O( ∑

deg fi≥deg gj1≤i≤t, 1≤j≤s

(deg fi) ·M(deg gj

deg fi

)+

∑deg fi<deg gj1≤i≤t, 1≤j≤s

(deg gj) ·M(

deg fideg gj

) ).

Page 19: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Conversion to the Chunky Representation

Initial idea: Convert each operand independently,then multiply in the chunky representation.

But how to minimize the nasty cost measure?

Theorem

Any independent conversion algorithm must result in slowermultiplication than the dense or sparse method in some cases.

Page 20: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Two-Step Chunky ConversionFirst Step: Optimal Chunk Size

Suppose every chunk in both operands was forced to have thesame size k.

This simplifies the cost to t(k) · s(k) ·M(k),where t(k) is the least number of size-k chunks to make f .

First conversion step:Compute the optimal value of k to minimize this simplified costmeasure.

Page 21: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Computing the optimal chunk size

Optimal chunk size computation algorithm:

1 Create two min-heaps with all “gaps” in f and g,ordered on the size of resulting chunk if gap were removed.

2 Remove all gaps of smallest priority and update neighbors

3 Approximate t(k), s(k) by the size of the heaps,and compute t(k) · s(k) ·M(k)

4 Repeat until no gaps remain.

With careful implementations, this can be made linear-time ineither the dense or sparse representation.Constant factor approximation; ratio is 4.

Observe: We must compute the cost of dense multiplication!

Page 22: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Computing the optimal chunk size

Optimal chunk size computation algorithm:

1 Create two min-heaps with all “gaps” in f and g,ordered on the size of resulting chunk if gap were removed.

2 Remove all gaps of smallest priority and update neighbors

3 Approximate t(k), s(k) by the size of the heaps,and compute t(k) · s(k) ·M(k)

4 Repeat until no gaps remain.

With careful implementations, this can be made linear-time ineither the dense or sparse representation.Constant factor approximation; ratio is 4.

Observe: We must compute the cost of dense multiplication!

Page 23: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Two-Step Chunky ConversionSecond Step: Conversion given chunk size

After computing “optimal chunk size”, conversion proceedsindependently.

We compute the optimal chunky representation for multiplyingby a single size-k chunk.

Idea: For each gap, maintain a linked list of all previous gapsto include if the polynomial were truncated here.

Algorithm: Increment through gaps, each time findingthe last gap that should be included.

Page 24: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Conversion given optimal chunk size

The algorithm uses two key properties:

• Chunks larger than k bring no benefit.

• For smaller chunks, we want to minimize∑

i

M(deg fi)deg fi

.

Theorem

Our algorithm computes the optimal chunky representationfor multiplying by a single size-k chunk.

Its cost is linear in the dense or sparse representation size.

Page 25: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Chunky Multiplication Overview

Input: f , g ∈ R[x], either in the sparse or dense representationOutput: Their product f · g, in the same representation

1 Compute approximation to “optimal chunk size” k,looking at both f and g simultaneously.

2 Convert f to optimal chunky representationfor multiplying by a single size-k chunk.

3 Convert g to optimal chunky representationfor multiplying by a single size-k chunk.

4 Multiply pairwise chunks using dense multiplication.

5 Combine terms and write out the product.

Page 26: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Second idea for Adaptive Multiplication

Example

• f = 3 − 2x3 + 7x6 + 5x12 − 6x15

• fD = 3 − 2x + 7x2 + 5x4 − 6x5

• f = fD ◦ x3

• g = gD ◦ x3

To multiply f · g, multiply fD · gD:

f · g = (fD · gD) ◦ x3

Page 27: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Second idea for Adaptive Multiplication

Example

• f = 3 − 2x3 + 7x6 + 5x12 − 6x15

• fD = 3 − 2x + 7x2 + 5x4 − 6x5

• f = fD ◦ x3

• g = gD ◦ x3

To multiply f · g, multiply fD · gD:

f · g = (fD · gD) ◦ x3

Page 28: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Second idea for Adaptive Multiplication

Example

• f = 3 − 2x3 + 7x6 + 5x12 − 6x15

• fD = 3 − 2x + 7x2 + 5x4 − 6x5

• f = fD ◦ x3

• g = gD ◦ x3

To multiply f · g, multiply fD · gD:

f · g = (fD · gD) ◦ x3

Page 29: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Different Spacing

Example

• f = 4 + 6x2 + 9x4 − 7x6 − x8 + 3x10 − 2x12

••• g = 3 + 2x3 − x6 + 8x9 − 5x12

••• Computing f · g requires 6 multiplications fi · gj, no additions

• Note: f · g is almost totally dense.

Page 30: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Different Spacing

Example

• f = 4 + 6x2 + 9x4 − 7x6 − x8 + 3x10 − 2x12

• fD = 4 + 6x + 9x2 − 7x3 − x4 + 3x5 − 2x6

• f = fD ◦ x2

• g = 3 + 2x3 − x6 + 8x9 − 5x12

• gD = 3 + 2x − x2 + 8x3 − 5x4

• g = gD ◦ x3

• Computing f · g requires 6 multiplications fi · gj, no additions

• Note: f · g is almost totally dense.

Page 31: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Different Spacing

Example

• f = 4 + 6x2 + 9x4 − 7x6 − x8 + 3x10 − 2x12

• f0 = 4 − 7x − 2x2, f2 = 6 − x, f4 = 9 + 3x• f = f0 ◦ x6 + x2(f2 ◦ x6) + x4(f4 ◦ x6)

• g = 3 + 2x3 − x6 + 8x9 − 5x12

• g0 = 3 − x − 5x2, g3 = 2 + 8x• g = g0 ◦ x6 + x3(g3 ◦ x6)

• Computing f · g requires 6 multiplications fi · gj, no additions

• Note: f · g is almost totally dense.

Page 32: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Different Spacing

Example

• f = 4 + 6x2 + 9x4 − 7x6 − x8 + 3x10 − 2x12

• f0 = 4 − 7x − 2x2, f2 = 6 − x, f4 = 9 + 3x• f = f0 ◦ x6 + x2(f2 ◦ x6) + x4(f4 ◦ x6)

• g = 3 + 2x3 − x6 + 8x9 − 5x12

• g0 = 3 − x − 5x2, g3 = 2 + 8x• g = g0 ◦ x6 + x3(g3 ◦ x6)

• Computing f · g requires 6 multiplications fi · gj, no additions

• Note: f · g is almost totally dense.

Page 33: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Equal-Spaced Multiplication

Theorem

Given f = fD ◦ xk, g = gD ◦ x`, and deg f , deg g < n,can find f · g using

O(

ngcd(k, `)

M(

nlcm(k, `)

))ring operations.

Page 34: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Allowing Outliers

Consider f = 3 − 2x3 + 7x6 − 4x7 + 5x12 − 6x15.

• Can we handle almost-equal spaced polynomials?

Idea: Write f = xr · fD(xk) + fS, where fS is s-sparse.

If s ∈ O(log deg f ), the cost of equal-spaced multiplication will beless than that of dense multiplication.

Page 35: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Allowing Outliers

Consider f = 3 − 2x3 + 7x6 − 4x7 + 5x12 − 6x15.

• Can we handle almost-equal spaced polynomials?

Idea: Write f = xr · fD(xk) + fS, where fS is s-sparse.

If s ∈ O(log deg f ), the cost of equal-spaced multiplication will beless than that of dense multiplication.

Page 36: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Equal-Spaced Conversion

Write S = {e1, e2, . . . , et} for the exponents of nonzero terms in f .

Goal: Find the largest k such that all but lg n of the ei’s areequivalent modulo k.

Problem: This is related to max-factor k-gcd, which is NP-hard.

• Eliminates linear-time optimal conversion from sparse.

• Is the problem easier for dense polynomials?

Page 37: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Equal-Spaced Conversion

Write S = {e1, e2, . . . , et} for the exponents of nonzero terms in f .

Goal: Find the largest k such that all but lg n of the ei’s areequivalent modulo k.

Problem: This is related to max-factor k-gcd, which is NP-hard.

• Eliminates linear-time optimal conversion from sparse.

• Is the problem easier for dense polynomials?

Page 38: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Conversion from Dense

Theorem (Upper bound on k)

k ∈ O(n

t

).

Idea: Perform a check for each possible k.

• Single check requires t modular computations.

• Can find majority element in O(t) by the algorithm of(Boyer & Moore / Fischer & Salzburg).

• Total cost is O(tk), which is O(n).

So we can find the optimal k in linear timein the size of the dense representation.

Page 39: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Combining Chunky and Equal-Spaced

To avoid the need for converting from sparse to equal-spaced,we can combine with chunky polynomials.

Chunks with Equal Spacing:

1 Convert dense or sparse input to chunky representation.

2 Simultaneously convert each dense chunk to equal-spaced,using the same spacing parameter k for all chunks.

3 Multiplication now uses sparse multiplication on the outside,equal-spaced in the middle, and dense on the inside.

Theorem

Multiplication using chunks with equal spacing as above is nevermore costly than chunky or equal-spaced multiplication alone.

Page 40: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Implementations in a Software Library

Our algorithms should be implemented and compared to existingapproaches.

Current software supporting polynomial arithmetic is either:

• Too big: Maple, Mathematica, Singular, Magma, etc.

• Too small: NTL, FLINT, zn poly

• Not open: sdmp, TRIP

The MVP (MultiVariate Polynomials) library will fill a niche:An open-source library for high-performance computations withsparse and dense polynomials.

Page 41: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Dense multiplication in MVP

0

0.5

1

1.5

2

2.5

3

6 8 10 12 14 16 18 20

Tim

eov

erN

TLtim

e

log2 of input degrees

NTLKaratsuba-like

FFT-based

Page 42: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Sparse multiplication in MVPDegree 10 000

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

2

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

time

(sec

onds

)

sparsity t

Maple (sdmp)MVP

Page 43: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Sparse multiplication in MVPDegree 1 000 000

0

0.5

1

1.5

2

2.5

3

3.5

4

0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000

time

(sec

onds

)

sparsity t

Maple (sdmp)MVP

Page 44: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Timings vs “Chunkiness”

0

0.2

0.4

0.6

0.8

1

1.2

1.4

0 5 10 15 20 25 30 35 40

Tim

eov

erde

nse

time

Chunkiness

DenseSparse

Adaptive

Page 45: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Timings without imposed chunkiness

0.001

0.01

0.1

1

10

100

10000 100000 1e+06 1e+07 1e+08

Tim

e(s

econ

ds)

DegreeSparsity 10000 3000 1000 300 100

DenseSparse

Adaptive

Page 46: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Multivariate Multiplication

We can apply our univariate algorithms to the multivariate casewith the Kronecker substitution:

Given multivariate polynomials f , g ∈ R[x1, x2, . . . , xn],we compute degree bounds on the product: di > degxi

(fg),then write

f = f(x, xd1 , xd1d2 , . . . , xd1d2···dn−1

)g = g

(x, xd1 , xd1d2 , . . . , xd1d2···dn−1

)Computing the univariate product f · g then gives all the terms ofthe actual multivariate product.

Page 47: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Possible Applicability of Kronecker SubstitutionHomogeneous Polynomials• Every term in a homogeneous polynomial

has the same total degree.

• Example: f = 2xy4z + x2y4 − 2x3z3 + x4yz• In the Kronecker substitution, this polynomial will be

equal-spaced.

Recursive Dense• The recursive dense representation has shown to be

generally useful in computer algebra systems(Stoutemyer 1984, Fateman 2003).

• A dense coefficient array in this representation corresponds toa chunk with equal spacing under the Kronecker substitution.

Hence our adaptive representations may work well for “real” data.

Page 48: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Better approximations and bounds

We can hope for better conversion algorithms:

• Chunky conversion steps are optimal, butoverall process might not be.

• Chunky/equal-spaced combination might be sub-optimal.

• Better constant-factor approximation

On a practical level, further tweaking might avoid inefficiencies,especially at borderline cases.

Page 49: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

The Ultimate Goal?

Adaptive methods go between pseudo-linear-time densealgorithms and quadratic-time sparse algorithms.

• Output size of sparse multiplication is at most quadratic.

• Can we have pseudo-linear output-sensitive cost?

Note: This is the best we can hope for and would generalizechunky and equal-spaced.

Page 50: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Connection to Sparse Interpolation

Problem: Sparse Polynomial Interpolation

Given a way to evaluate an unknown f ∈ R[x] at any point,determine the terms in f .

Ben-Or & Tiwari (’88): Sparse interpolation algorithmKaltofen & Lee (’02): Early termination strategy

These results allow sparse multiplication in time O˜(t log2 d),where t is sparsity of input plus output — almost what we want.

Extra O(log d) factor comes from root finding and discrete logs— can these be avoided without increasing the cost?

Are multiplication and interpolation deeply linked?

Page 51: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Connection to Sparse Interpolation

Problem: Sparse Polynomial Interpolation

Given a way to evaluate an unknown f ∈ R[x] at any point,determine the terms in f .

Ben-Or & Tiwari (’88): Sparse interpolation algorithmKaltofen & Lee (’02): Early termination strategy

These results allow sparse multiplication in time O˜(t log2 d),where t is sparsity of input plus output — almost what we want.

Extra O(log d) factor comes from root finding and discrete logs— can these be avoided without increasing the cost?

Are multiplication and interpolation deeply linked?

Page 52: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Summary

• Two ways to go between dense and sparse multiplication:chunky and equal-spaced multiplication.

• These algorithms are never worse than existing approaches,but can be much better in well-structured cases.

• The two ideas can be combined and also have somepromising applications and implementation results.

• Much work remains to understand this fundamental problem.

Page 53: Between Dense and Sparse Polynomial Multiplication

Introduction Chunky Equal-Spaced Implementation Future Work

Thank you!