+ All Categories
Home > Documents > Reed-Solomon code.cs70/sp16/slides/lec-12.pdf · Reed-Solomon code. Problem: Communicate n packets...

Reed-Solomon code.cs70/sp16/slides/lec-12.pdf · Reed-Solomon code. Problem: Communicate n packets...

Date post: 05-Feb-2021
Category:
Upload: others
View: 1 times
Download: 0 times
Share this document with a friend
490
Reed-Solomon code. Problem: Communicate n packets m 1 ,..., m n on noisy channel that corrupts k packets.
Transcript
  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.

    Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,

    (2) P(x) is unique degree n−1 polynomialthat contains ≥ n+k received points.

    Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.

    Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2· (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Reed-Solomon code.Problem: Communicate n packets m1, . . . ,mnon noisy channel that corrupts ≤ k packets.Reed-Solomon Code:

    1. Make a polynomial, P(x) of degree n−1,that encodes message: coefficients, p0, . . . ,pn−1.

    2. Send P(1), . . . ,P(n+2k).

    After noisy channel: Recieve values R(1), . . . ,R(n+2k).

    Properties:(1) P(i) = R(i) for at least n+k points i ,(2) P(x) is unique degree n−1 polynomial

    that contains ≥ n+k received points.Matrix view of encoding: modulo p.

    P(1)P(2)P(3)

    .

    .

    .P(n+2k)

    =

    1 1 12 · 11 2 22 · 2n−11 3 32 · 3n−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) (n+2k)2 · (n+2k)n−1

    p0p1...

    pn−1

    (mod p)

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.

    Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)

    Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)

    At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).

    Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).

    Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:

    E(x) is error locator polynomial.Root at each error point. Degree k .

    Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point.

    Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.

    Set up system corresponding to Q(i) = R(i)E(i) whereQ(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial.

    Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1

    E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal.

    Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve.

    Then output P(x) = Q(x)/E(x).

  • Berlekamp-Welsh AlgorithmP(x): degree n−1 polynomial.Send P(1), . . . ,P(n+2k)Receive R(1), . . . ,R(n+2k)At most k i ’s where P(i) 6= R(i).Idea:E(x) is error locator polynomial.

    Root at each error point. Degree k .Q(x) = P(x)E(x) or degree n+k −1 polynomial.Set up system corresponding to Q(i) = R(i)E(i) where

    Q(x) is degree n+k −1 polynomial. Coefficients: a0, . . . ,an+k−1E(x) is degree k polyonimal. Coefficients: b0, . . . ,bk−1,1

    Matrix equations: modulo p!

    1 1 · 11 2 · 2n+k−11 3 · 3n+k−1

    .

    .

    . ·...

    .

    .

    .1 (n+2k) · (n+2k)n+k−1

    a0a1...

    an+k−1

    =

    R(1) · 00 · 0...

    .

    .

    . 00 · R(n+2k)

    1 · 11 · 2k1 · 3k

    .

    .

    ....

    .

    .

    .1 · (n+2k)k

    b0b1...

    bk−11

    Solve. Then output P(x) = Q(x)/E(x).

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k

    ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients.

    Leading coefficient is 1.

    I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.

    I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1

    ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient:

    n+2k .

  • Finding Q(x) and E(x)?

    I E(x) has degree k ...

    E(x) = xk +bk−1xk−1 · · ·b0.

    =⇒ k (unknown) coefficients. Leading coefficient is 1.I Q(x) = P(x)E(x) has degree n+k −1 ...

    Q(x) = an+k−1xn+k−1 +an+k−2xn+k−2 + · · ·a0

    =⇒ n+k (unknown) coefficients.

    Total unknown coefficient: n+2k .

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.

    an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)

    ...an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...

    and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Solving for Q(x) and E(x)...and P(x)

    For all points 1, . . . , i ,n+2k ,

    Q(i) = R(i)E(i) (mod p)

    Gives n+2k linear equations.an+k−1 + . . .a0 ≡ R(1)(1+bk−1 · · ·b0) (mod p)

    an+k−1(2)n+k−1 + . . .a0 ≡ R(2)((2)k +bk−1(2)k−1 · · ·b0) (mod p)...

    an+k−1(m)n+k−1 + . . .a0 ≡ R(m)((m)k +bk−1(m)k−1 · · ·b0) (mod p)

    ..and n+2k unknown coefficients of Q(x) and E(x)!

    Solve for coefficients of Q(x) and E(x).

    Find P(x) = Q(x)/E(x).

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0

    E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0

    Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)

    a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)

    a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example.Received R(1) = 3,R(2) = 1,R(3) = 6,R(4) = 0,R(5) = 3

    Q(x) = E(x)P(x) = a3x3 +a2x2 +a1x +a0E(x) = x−b0Q(i) = R(i)E(i).

    a3 +a2 +a1 +a0 ≡ 3(1−b0) (mod 7)a3 +4a2 +2a1 +a0 ≡ 1(2−b0) (mod 7)

    6a3 +2a2 +3a1 +a0 ≡ 6(3−b0) (mod 7)a3 +2a2 +4a1 +a0 ≡ 0(4−b0) (mod 7)

    6a3 +4a2 +5a1 +a0 ≡ 3(5−b0) (mod 7)

    a3 = 1, a2 = 6, a1 = 6, a0 = 5 and b0 = 2.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.

    E(x) = x−2.

    1 xˆ2

    + 1 x + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2

    + 1 x + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2

    + 1 x + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2

    + 1 x + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2

    ----------1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2

    + 1 x + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 5

    1 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x

    + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x

    ---------------x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x

    + 1

    -----------------x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5

    xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5

    x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2

    -----0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1

    Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2?

    1 Except at x = 2? Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2?

    Hole there?

  • Example: finishing up.

    Q(x) = x3 +6x2 +6x +5.E(x) = x−2.

    1 xˆ2 + 1 x + 1-----------------

    x - 2 ) xˆ3 + 6 xˆ2 + 6 x + 5xˆ3 - 2 xˆ2----------

    1 xˆ2 + 6 x + 51 xˆ2 - 2 x---------------

    x + 5x - 2-----

    0

    P(x) = x2 +x +1Message is P(1) = 3,P(2) = 0,P(3) = 6.

    What is x−2x−2? 1 Except at x = 2? Hole there?

  • Error Correction: Berlekamp-Welsh

    Message: m1, . . . ,mn.Sender:

    1. Form degree n−1 polynomial P(x) where P(i) = mi .

    2. Send P(1), . . . ,P(n+2k).

    Receiver:

    1. Receive R(1), . . . ,R(n+2k).

    2. Solve n+2k equations, Q(i) = E(i)R(i) to find Q(x) = E(x)P(x)and E(x).

    3. Compute P(x) = Q(x)/E(x).

    4. Compute P(1), . . . ,P(n).

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor?

    Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.

    Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values?

    Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency?

    Sure. Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure.

    Only n+k values.See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.

    See where it is 0.

  • Check your undersanding.

    You have error locator polynomial!

    Where oh where can my bad packets be?...

    Factor? Sure.Check all values? Sure.

    Efficiency? Sure. Only n+k values.See where it is 0.

  • Hmmm...

    Is there one and only one P(x) from Berlekamp-Welsh procedure?

    Existence: there is a P(x) and E(x) that satisfy equations.

  • Hmmm...

    Is there one and only one P(x) from Berlekamp-Welsh procedure?

    Existence: there is a P(x) and E(x) that satisfy equations.

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)

    Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:

    We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1

    and agree on n+2k pointsE(x) and E ′(x) have at most k zeros each.

    Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.

    Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.

    =⇒ Q′(x)

    E ′(x) =Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n

    =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Unique solution for P(x)

    Uniqueness: any solution Q′(x) and E ′(x) have

    Q′(x)E ′(x)

    =Q(x)E(x)

    = P(x). (1)Proof:We claim

    Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x . (2)

    Equation 2 implies 1:

    Q′(x)E(x) and Q(x)E ′(x) are degree n+2k −1and agree on n+2k points

    E(x) and E ′(x) have at most k zeros each.Can cross divide at n points.=⇒ Q

    ′(x)E ′(x) =

    Q(x)E(x) equal on n points.

    Both degree ≤ n =⇒ Same polynomial!

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof:

    Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.

    If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.=⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.

    When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0.

    If E ′(i) = 0, then Q′(i) = 0.=⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.

    When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.

    When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Last bit.Fact: Q′(x)E(x) = Q(x)E ′(x) on n+2k values of x .

    Proof: Construction implies that

    Q(i) = R(i)E(i)

    Q′(i) = R(i)E ′(i)

    for i ∈ {1, . . .n+2k}.If E(i) = 0, then Q(i) = 0. If E ′(i) = 0, then Q′(i) = 0.

    =⇒ Q(i)E ′(i) = Q′(i)E(i) holds when E(i) or E ′(i) are zero.When E ′(i) and E(i) are not zero

    Q′(i)E ′(i)

    =Q(i)E(i)

    = R(i).

    Cross multiplying gives equality in fact for these points.

    Points to polynomials, have to deal with zeros!

    Example: dealing with x−2x−2 at x = 2.

  • Berlekamp-Welsh algorithm decodes correctly when k errors!

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:

    Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people.

    Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:

    n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).

    Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses:

    Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).

    Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.

    Only one polynomial contains n+kEfficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.

    Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!

    Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:

    Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.

    Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.

    Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..

    allows for efficiency. Magic of polynomials.Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency.

    Magic of polynomials.Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Summary: polynomials.Set of d +1 points determines degree d polynomial.

    Encode secret using degree k −1 polynomial:Can share with n people. Any k can recover!

    Encode message using degree n−1 polynomail:n packets of information.

    Send n+k packets (point values).Can recover from k losses: Still have n points!

    Send n+2k packets (point values).Can recover from k corruptionss.Only one polynomial contains n+k

    Efficiency.Magic!!!!Error Locator Polynomial.

    Relations:Linear code.Almost any coding matrix works.Vandermonde matrix (the one for Reed-Solomon)..allows for efficiency. Magic of polynomials.

    Other Algebraic-Geometric codes.

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative,

    inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!

    Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ?

    Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)?

    Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...

    maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)?

    Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh..

    −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).

    Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.

    But can you get closer? Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. −3 = 4 (mod 7).Another problem.

    4 is close to 3.But can you get closer?

    Sure. 3.5. Closer. Sure? 3.25, 3.1,3.000001. . . .

    For reals numbers we have the notion of limit, continuity, andderivative.......

    ....and Calculus.

    For modular arithmetic...no Calculus. Sad face!

  • Farewell to modular arithmetic...Modular arithmetic modulo a prime.

    Add, subtract, commutative, associative, inverses!Allow for solving linear systems, discussing polynomials...

    Why not modular arithmetic all the time?

    4 > 3 ? Yes!

    4 > 3 (mod 7)? Yes...maybe?

    −3 > 3 (mod 7)? Uh oh.. �


Recommended