List Decoding of Algebraic Codes Peter Beelen, Kristian Brander and - - PowerPoint PPT Presentation

list decoding of algebraic codes
SMART_READER_LITE
LIVE PREVIEW

List Decoding of Algebraic Codes Peter Beelen, Kristian Brander and - - PowerPoint PPT Presentation

Contents List decoding of error-correcting codes Fast list decoding of ReedSolomon codes Fast list decoding of certain AG codes List Decoding of Algebraic Codes Peter Beelen, Kristian Brander and Johan S.R. Nielsen DTU Mathematics


slide-1
SLIDE 1

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List Decoding of Algebraic Codes

Peter Beelen, Kristian Brander and Johan S.R. Nielsen

DTU Mathematics Technical University of Denmark

slide-2
SLIDE 2

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Contents

1

List decoding of error-correcting codes

2

Fast list decoding of Reed–Solomon codes

3

Fast list decoding of certain AG codes

4

Wu decoding of Reed–Solomon codes

slide-3
SLIDE 3

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Contents

1

List decoding of error-correcting codes

2

Fast list decoding of Reed–Solomon codes

3

Fast list decoding of certain AG codes

4

Wu decoding of Reed–Solomon codes

slide-4
SLIDE 4

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Codewords and unique decoding

Codewords: Vectors c ∈ Σn. Code: C = {c1, . . . , cm}.

slide-5
SLIDE 5

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Codewords and unique decoding

Codewords: Vectors c ∈ Σn. Code: C = {c1, . . . , cm}. Minimum distance, d, is the minimal number of disagreeing positions between any two codewords.

slide-6
SLIDE 6

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Codewords and unique decoding

Codewords: Vectors c ∈ Σn. Code: C = {c1, . . . , cm}. Minimum distance, d, is the minimal number of disagreeing positions between any two codewords. If the number of errors, τ, is less than d

2 then there is at most

  • ne codeword within distance τ from any received word y.
slide-7
SLIDE 7

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding

If τ ≥ d

2 there might be a “small” list of codewords within

distance τ from y. The decoder thus get a list of candidate messages.

slide-8
SLIDE 8

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding

If τ ≥ d

2 there might be a “small” list of codewords within

distance τ from y. The decoder thus get a list of candidate messages. We require the lists to be polynomially bounded in the code length n.

slide-9
SLIDE 9

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Error-correcting codes and list decoding

The rate of an error-correcting code is rate R =

log|Σ|(|C|) n

.

slide-10
SLIDE 10

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Error-correcting codes and list decoding

The rate of an error-correcting code is rate R =

log|Σ|(|C|) n

. The relative number of errors it can correct is denoted by τ

n.

slide-11
SLIDE 11

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Error-correcting codes and list decoding

The rate of an error-correcting code is rate R =

log|Σ|(|C|) n

. The relative number of errors it can correct is denoted by τ

n.

slide-12
SLIDE 12

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Error-correcting codes and list decoding

The rate of an error-correcting code is rate R =

log|Σ|(|C|) n

. The relative number of errors it can correct is denoted by τ

n.

Unique decoding: τ/n < 1

2(1 − R).

slide-13
SLIDE 13

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Error-correcting codes and list decoding

The rate of an error-correcting code is rate R =

log|Σ|(|C|) n

. The relative number of errors it can correct is denoted by τ

n.

Unique decoding: τ/n < 1

2(1 − R).

Guruswami–Sudan algorithm: τ/n < 1 − √ R. Furthermore: The code must be efficiently list decodable.

slide-14
SLIDE 14

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Contents

1

List decoding of error-correcting codes

2

Fast list decoding of Reed–Solomon codes

3

Fast list decoding of certain AG codes

4

Wu decoding of Reed–Solomon codes

slide-15
SLIDE 15

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Reed–Solomon codes

A Reed–Solomon code of length n and rate R = k/n: C = {(f (α1), . . . , f (αn)) | f (x) ∈ Fq[x], deg(f ) < k} , Alphabet is Σ = Fq and α1, . . . , αn ∈ Fq are distinct.

slide-16
SLIDE 16

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Reed–Solomon codes

A Reed–Solomon code of length n and rate R = k/n: C = {(f (α1), . . . , f (αn)) | f (x) ∈ Fq[x], deg(f ) < k} , Alphabet is Σ = Fq and α1, . . . , αn ∈ Fq are distinct.

slide-17
SLIDE 17

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Reed–Solomon codes

A Reed–Solomon code of length n and rate R = k/n: C = {(f (α1), . . . , f (αn)) | f (x) ∈ Fq[x], deg(f ) < k} , Alphabet is Σ = Fq and α1, . . . , αn ∈ Fq are distinct.

slide-18
SLIDE 18

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding Reed–Solomon codes

A list decoder must find f (x) ∈ Fq[x], with deg(f ) < k, that passes through n − τ of the received points.

slide-19
SLIDE 19

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding Reed–Solomon codes

A list decoder must find f (x) ∈ Fq[x], with deg(f ) < k, that passes through n − τ of the received points. Interpolate Q(x, y) through received points, with multiplicity s.

slide-20
SLIDE 20

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding Reed–Solomon codes

A list decoder must find f (x) ∈ Fq[x], with deg(f ) < k, that passes through n − τ of the received points. Interpolate Q(x, y) through received points, with multiplicity s. ... of least weighted degree. degw(xiyj) = i +(k −1)j

slide-21
SLIDE 21

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding Reed–Solomon codes

A list decoder must find f (x) ∈ Fq[x], with deg(f ) < k, that passes through n − τ of the received points. Interpolate Q(x, y) through received points, with multiplicity s. ... of least weighted degree. degw(xiyj) = i +(k −1)j If τ/n < 1 − √ R then Q(x, f (x)) = 0

slide-22
SLIDE 22

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

List decoding depends on a fast interpolation algorithm.

slide-23
SLIDE 23

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

List decoding depends on a fast interpolation algorithm. The Fq[x]–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

, where E(x) = n

i=1(x − αi) and R(αi) = yi for 1 ≤ i ≤ n.

slide-24
SLIDE 24

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

List decoding depends on a fast interpolation algorithm. The Fq[x]–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

, where E(x) = n

i=1(x − αi) and R(αi) = yi for 1 ≤ i ≤ n.

Introduce matrix ℓ + 1 × ℓ + 1 matrix A, [A]ij = Coefficient to yi in j-th basis function

slide-25
SLIDE 25

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

List decoding depends on a fast interpolation algorithm. The Fq[x]–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

, where E(x) = n

i=1(x − αi) and R(αi) = yi for 1 ≤ i ≤ n.

Introduce matrix ℓ + 1 × ℓ + 1 matrix A, [A]ij = Coefficient to yi in j-th basis function Then, Q(x, y) = ℓ

i=0qi(x)yi ∈ Fq[x, y],

is an interpolation polynomial if and only if q = (q0, . . . , qℓ) is in the Fq[x]–column span of A.

slide-26
SLIDE 26

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Interpolation

For s = 2 and ℓ = 3, A =     E 2 −ER R2 −R3 E −2R 3R2 1 −3R 1    .

slide-27
SLIDE 27

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Interpolation

For s = 2 and ℓ = 3, A =     E 2 −ER R2 −R3 E −2R 3R2 1 −3R 1    . The column span of A gives all interpolation polynomials. We look for short vectors, with respect to weighted degree. Gaussian elimination-style algorithm: Cancel highest terms.

slide-28
SLIDE 28

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid.

slide-29
SLIDE 29

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j.

slide-30
SLIDE 30

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination.

slide-31
SLIDE 31

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination.

slide-32
SLIDE 32

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination.

slide-33
SLIDE 33

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination.

slide-34
SLIDE 34

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination.

slide-35
SLIDE 35

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination.

slide-36
SLIDE 36

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination. Continue the process, until leading coordinates occur in distinct rows.

slide-37
SLIDE 37

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Gaussian elimination

Represent matrix as grid. Represent (i, j)-th entry by stack of cubes: degw(Ai,j) = deg(Ai,j) + (k − 1)j. Gaussian elimination. Continue the process, until leading coordinates occur in distinct rows. Leads to algorithm requiring O

  • ℓ5n2

Fq-multiplications.

slide-38
SLIDE 38

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich. Introduce matrix U(A, t) representing the column operations made when “cutting down” the stack, i.e.

degw(A · U(A, t)) ≤ degw(A) − t or A · U(A, t) has all leading coordinates in distinct rows,

where degw(A) =

i degw(Ai).

slide-39
SLIDE 39

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich. Introduce matrix U(A, t) representing the column operations made when “cutting down” the stack, i.e.

degw(A · U(A, t)) ≤ degw(A) − t or A · U(A, t) has all leading coordinates in distinct rows,

where degw(A) =

i degw(Ai).

Observation: U(A, t) = U(A, ⌈t/2⌉) · U(A′, t − d), where A′ = A · U(A, t/2) and d = degw A − degw A′.

slide-40
SLIDE 40

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich. Introduce matrix U(A, t) representing the column operations made when “cutting down” the stack, i.e.

degw(A · U(A, t)) ≤ degw(A) − t or A · U(A, t) has all leading coordinates in distinct rows,

where degw(A) =

i degw(Ai).

Observation: U(A, t) = U(A, ⌈t/2⌉) · U(A′, t − d), where A′ = A · U(A, t/2) and d = degw A − degw A′. Leads to divide and conquer algorithm. Handle base case U(A, 1) by Gaussian elimination.

slide-41
SLIDE 41

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Subproblems are easy: U(A, t) = U(πt(A), t).

slide-42
SLIDE 42

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Subproblems are easy: U(A, t) = U(πt(A), t).

slide-43
SLIDE 43

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Subproblems are easy: U(A, t) = U(πt(A), t).

slide-44
SLIDE 44

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Subproblems are easy: U(A, t) = U(πt(A), t). Combining subproblems is easy: Entries in U(A, t) have at most 2t coefficients.

slide-45
SLIDE 45

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Subproblems are easy: U(A, t) = U(πt(A), t). Combining subproblems is easy: Entries in U(A, t) have at most 2t coefficients. Leads to algorithm requiring O

  • ℓ5n log2(ℓn) log log(ℓn)
  • Fq-multiplications.
slide-46
SLIDE 46

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Comparison and conclusions

The divide and conquer algorithm is asymptotically faster than Gaussian elimination. Gaussian elimination O

  • ℓ5n2

Divide and conquer O

  • ℓ5n log2(ℓn) log log(ℓn)
slide-47
SLIDE 47

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Comparison and conclusions

The divide and conquer algorithm is asymptotically faster than Gaussian elimination. Gaussian elimination O

  • ℓ5n2

Divide and conquer O

  • ℓ5n log2(ℓn) log log(ℓn)
slide-48
SLIDE 48

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Comparison and conclusions

The divide and conquer algorithm is asymptotically faster than Gaussian elimination. Gaussian elimination O

  • ℓ5n2

Divide and conquer O

  • ℓ5n log2(ℓn) log log(ℓn)
  • The algorithm works in a more general setting: list decoding
  • f certain algebraic geometry codes.
slide-49
SLIDE 49

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Contents

1

List decoding of error-correcting codes

2

Fast list decoding of Reed–Solomon codes

3

Fast list decoding of certain AG codes

4

Wu decoding of Reed–Solomon codes

slide-50
SLIDE 50

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

AG codes

C a simple Cab curve, i.e. a nonsingular affine curve given by a polynomial of the form F(x1, x2) = 0 such that

slide-51
SLIDE 51

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

AG codes

C a simple Cab curve, i.e. a nonsingular affine curve given by a polynomial of the form F(x1, x2) = 0 such that

The numbers γ = degX2 F and δ = degX1 F are relatively prime.

slide-52
SLIDE 52

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

AG codes

C a simple Cab curve, i.e. a nonsingular affine curve given by a polynomial of the form F(x1, x2) = 0 such that

The numbers γ = degX2 F and δ = degX1 F are relatively prime. Any monomial xi

1xj 2 in the support of F satisfies γi + δj ≤ γδ.

slide-53
SLIDE 53

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

AG codes

C a simple Cab curve, i.e. a nonsingular affine curve given by a polynomial of the form F(x1, x2) = 0 such that

The numbers γ = degX2 F and δ = degX1 F are relatively prime. Any monomial xi

1xj 2 in the support of F satisfies γi + δj ≤ γδ.

A simple Cab-curve has a unique point at infinity denoted by P∞. vP∞(xi

1xj 2) = −iγ − jδ.

slide-54
SLIDE 54

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

AG codes

C a simple Cab curve, i.e. a nonsingular affine curve given by a polynomial of the form F(x1, x2) = 0 such that

The numbers γ = degX2 F and δ = degX1 F are relatively prime. Any monomial xi

1xj 2 in the support of F satisfies γi + δj ≤ γδ.

A simple Cab-curve has a unique point at infinity denoted by P∞. vP∞(xi

1xj 2) = −iγ − jδ.

An AG code from a simple Cab-curve of length n: C = {(f (α1), . . . , f (αn)) | f (x) ∈ L(µP∞), vP∞(f ) + µ ≥ 0} , Alphabet is Σ = Fq and α1, . . . , αn ∈ C(Fq) are distinct affine points.

slide-55
SLIDE 55

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding AG codes

A list decoder must find f (x) ∈ Fq[x1, x2]/(F(x1, x2)), with vP∞(f ) + µ ≥ 0, that passes through n − τ of the received points.

slide-56
SLIDE 56

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding AG codes

A list decoder must find f (x) ∈ Fq[x1, x2]/(F(x1, x2)), with vP∞(f ) + µ ≥ 0, that passes through n − τ of the received points. Interpolate Q(x1, x2, y) through received points, with multiplicity s.

slide-57
SLIDE 57

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding AG codes

A list decoder must find f (x) ∈ Fq[x1, x2]/(F(x1, x2)), with vP∞(f ) + µ ≥ 0, that passes through n − τ of the received points. Interpolate Q(x1, x2, y) through received points, with multiplicity s. ... of least weighted degree. degw(xi1

1 xi2 2 yj) = i1γ + i2δ + (k − 1)j

slide-58
SLIDE 58

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

List decoding AG codes

A list decoder must find f (x) ∈ Fq[x1, x2]/(F(x1, x2)), with vP∞(f ) + µ ≥ 0, that passes through n − τ of the received points. Interpolate Q(x1, x2, y) through received points, with multiplicity s. ... of least weighted degree. degw(xi1

1 xi2 2 yj) = i1γ + i2δ + (k − 1)j

If τ/n < 1 − √ R then Q(x1, x2, f (x1, x2)) = 0

slide-59
SLIDE 59

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

The Fq[x1, x2]/(F(x1, x2))–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

.

slide-60
SLIDE 60

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

The Fq[x1, x2]/(F(x1, x2))–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

. E satisfies (E) =

n

  • i=1

αi − nP∞ and R(αi) = yi for 1 ≤ i ≤ n.

slide-61
SLIDE 61

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

The Fq[x1, x2]/(F(x1, x2))–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

. E satisfies (E) =

n

  • i=1

αi − nP∞ and R(αi) = yi for 1 ≤ i ≤ n. Find a generating set of the module viewed as Fq[x1] module. One finds a generating set of cardinality γ(ℓ + 1).

slide-62
SLIDE 62

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Translation of the interpolation problem

The Fq[x1, x2]/(F(x1, x2))–module of interpolation polynomials with degy(Q) ≤ ℓ, is spanned by

  • E s, E s−1(y − R), . . . , (y − R)s, (y − R)s+1, . . . , (y − R)ℓ

. E satisfies (E) =

n

  • i=1

αi − nP∞ and R(αi) = yi for 1 ≤ i ≤ n. Find a generating set of the module viewed as Fq[x1] module. One finds a generating set of cardinality γ(ℓ + 1). Introduce matrix γ(ℓ + 1) × γ(ℓ + 1) matrix A, [A](ij),(i′j′) = Coefficient to xi

2yj in (i′, j′)-th basis function

slide-63
SLIDE 63

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich further.

slide-64
SLIDE 64

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich further. Again leads to divide and conquer algorithm.

slide-65
SLIDE 65

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich further. Again leads to divide and conquer algorithm. Leads to algorithm requiring O

  • ℓ5γ3(n + γδ) log2(ℓ(n + γδ)) log log(ℓ(n + γδ))
  • Fq-multiplications.
slide-66
SLIDE 66

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Algorithm: Divide and conquer

Extend and generalize idea behind divide and conquer algorithm by Alekhnovich further. Again leads to divide and conquer algorithm. Leads to algorithm requiring O

  • ℓ5γ3(n + γδ) log2(ℓ(n + γδ)) log log(ℓ(n + γδ))
  • Fq-multiplications.

For the well-known Hermitian curve one can list-decode

  • ne-point AG codes in

O

  • ℓ5n2 log2(ℓn) log log(ℓn)
  • Fq2-multiplications. Note that in this case γ = q, δ = q + 1

and n = q3.

slide-67
SLIDE 67

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Contents

1

List decoding of error-correcting codes

2

Fast list decoding of Reed–Solomon codes

3

Fast list decoding of certain AG codes

4

Wu decoding of Reed–Solomon codes

slide-68
SLIDE 68

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The key equation for RS codes.

Sudan’s algorithm for ℓ = 1: find Q(x, y) = q1(x)y + q0(x) such that Q(αi, yi) = 0.

slide-69
SLIDE 69

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The key equation for RS codes.

Sudan’s algorithm for ℓ = 1: find Q(x, y) = q1(x)y + q0(x) such that Q(αi, yi) = 0. Leads to a (Gao) key equation q1(x)R(x) ≡ −q0(x) mod E(x),

slide-70
SLIDE 70

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The key equation for RS codes.

Sudan’s algorithm for ℓ = 1: find Q(x, y) = q1(x)y + q0(x) such that Q(αi, yi) = 0. Leads to a (Gao) key equation q1(x)R(x) ≡ −q0(x) mod E(x), Which implies the standard key equation Λ(X)S(X) ≡ Ω(x) mod xn−k.

slide-71
SLIDE 71

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The key equation for RS codes.

Sudan’s algorithm for ℓ = 1: find Q(x, y) = q1(x)y + q0(x) such that Q(αi, yi) = 0. Leads to a (Gao) key equation q1(x)R(x) ≡ −q0(x) mod E(x), Which implies the standard key equation Λ(X)S(X) ≡ Ω(x) mod xn−k. Solving the key equation: use EEA on S(x) and xn−k. Finds Λ(x) and Ω(x) if 2τ < n − k + 1.

slide-72
SLIDE 72

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

The Wu list decoder focuses on finding all relevant pairs (Λ(x), Ω(x)) if 2τ ≥ n − k + 1.

slide-73
SLIDE 73

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

The Wu list decoder focuses on finding all relevant pairs (Λ(x), Ω(x)) if 2τ ≥ n − k + 1. Idea: working in the Fq[x]-module generated by y − S(x) and xn−k we have Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y).

slide-74
SLIDE 74

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

The Wu list decoder focuses on finding all relevant pairs (Λ(x), Ω(x)) if 2τ ≥ n − k + 1. Idea: working in the Fq[x]-module generated by y − S(x) and xn−k we have Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y). h1(x, y) and h2(x, y) are the output of (essentially) EEA on y − S(x) and xn−k.

slide-75
SLIDE 75

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

The Wu list decoder focuses on finding all relevant pairs (Λ(x), Ω(x)) if 2τ ≥ n − k + 1. Idea: working in the Fq[x]-module generated by y − S(x) and xn−k we have Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y). h1(x, y) and h2(x, y) are the output of (essentially) EEA on y − S(x) and xn−k. f1(x) and f2(x) are unknown polynomials, but upper bounds

  • n their degrees are known.
slide-76
SLIDE 76

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

As before: Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y).

slide-77
SLIDE 77

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

As before: Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y). For error positions x = α we can determine the ratio between f1(α) and f2(α).

slide-78
SLIDE 78

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

As before: Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y). For error positions x = α we can determine the ratio between f1(α) and f2(α). f1(x) and f2(x) can be determined solving a rational interpolation problem (if τ is not too big).

slide-79
SLIDE 79

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

As before: Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y). For error positions x = α we can determine the ratio between f1(α) and f2(α). f1(x) and f2(x) can be determined solving a rational interpolation problem (if τ is not too big). Wu’s list decoder can correct (generalized) Reed–Solomon codes up to τ < n −

  • n(n − d) errors.
slide-80
SLIDE 80

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

The Wu list decoder.

As before: Ω(x) − Λ(x)y = f1(x)h1(x, y) + f2(x)h2(x, y). For error positions x = α we can determine the ratio between f1(α) and f2(α). f1(x) and f2(x) can be determined solving a rational interpolation problem (if τ is not too big). Wu’s list decoder can correct (generalized) Reed–Solomon codes up to τ < n −

  • n(n − d) errors.

Work in progress: apply Wu’s list decoder to other classes of codes.

slide-81
SLIDE 81

Contents List decoding of error-correcting codes Fast list decoding of Reed–Solomon codes Fast list decoding of certain AG codes

Thank you for your attention!