An Introduction to (Network) Coding Theory Anna-Lena - - PowerPoint PPT Presentation

an introduction to network coding theory
SMART_READER_LITE
LIVE PREVIEW

An Introduction to (Network) Coding Theory Anna-Lena - - PowerPoint PPT Presentation

An Introduction to (Network) Coding Theory An Introduction to (Network) Coding Theory Anna-Lena Horlemann-Trautmann University of St. Gallen, Switzerland April 24th, 2018 An Introduction to (Network) Coding Theory Coding Theory Introduction


slide-1
SLIDE 1

An Introduction to (Network) Coding Theory

An Introduction to (Network) Coding Theory

Anna-Lena Horlemann-Trautmann

University of St. Gallen, Switzerland

April 24th, 2018

slide-2
SLIDE 2

An Introduction to (Network) Coding Theory Coding Theory Introduction

Outline

1 Coding Theory

Introduction Reed-Solomon Codes

2 Network Coding Theory

Introduction Gabidulin Codes

3 Summary and Outlook

slide-3
SLIDE 3

An Introduction to (Network) Coding Theory Coding Theory Introduction

– A little bit of history – 2016 was the 100th anniversary of the Father of Information Theory Claude Shannon (1916 - 2001)1

1picture from www.techzibits.com 1 / 39

slide-4
SLIDE 4

An Introduction to (Network) Coding Theory Coding Theory Introduction

Shannon’s pioneering works in information theory: Channel coding (1948):

Noisy-channel coding theorem/Shannon capacity (maximum information transfer rate for a given channel and noise level)

Compression (1948):

Source coding theorem (limits to possible data compression)

Cryptography (1949):

One-time pad is the only theoretically unbreakable cipher

2 / 39

slide-5
SLIDE 5

An Introduction to (Network) Coding Theory Coding Theory Introduction

Shannon provided answers to questions of the type “What is possible in theory?” Subsequent research: how to algorithmically achieve those optimal scenarios

  • ther types of channels

lossy compression computationally secure cryptography

3 / 39

slide-6
SLIDE 6

An Introduction to (Network) Coding Theory Coding Theory Introduction

Channel Coding ... deals with noisy transmission of information

  • ver space (communication)
  • ver time (storage)

4 / 39

slide-7
SLIDE 7

An Introduction to (Network) Coding Theory Coding Theory Introduction

Channel Coding ... deals with noisy transmission of information

  • ver space (communication)
  • ver time (storage)

To deal with the noise the data is encoded with added redundancy, the receiver can “filter out” the noise (decoding) and then recover the sent data.

4 / 39

slide-8
SLIDE 8

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

5 / 39

slide-9
SLIDE 9

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

− → − →

5 / 39

slide-10
SLIDE 10

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

− → − →

5 / 39

slide-11
SLIDE 11

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

− → − →

5 / 39

slide-12
SLIDE 12

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

− → − →

5 / 39

slide-13
SLIDE 13

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

6 / 39

slide-14
SLIDE 14

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

6 / 39

slide-15
SLIDE 15

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding:

6 / 39

slide-16
SLIDE 16

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding: Receiver: (000100) is closer to (000000) than to (111111)

6 / 39

slide-17
SLIDE 17

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding: Receiver: (000100) is closer to (000000) than to (111111) = ⇒ decode to (000000) = no

6 / 39

slide-18
SLIDE 18

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding: Receiver: (000100) is closer to (000000) than to (111111) = ⇒ decode to (000000) = no The closeness can be measured by the Hamming metric.

6 / 39

slide-19
SLIDE 19

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding: Receiver: (000100) is closer to (000000) than to (111111) = ⇒ decode to (000000) = no The closeness can be measured by the Hamming metric. The larger the distance between the codewords, the more errors can be corrected.

6 / 39

slide-20
SLIDE 20

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding: Receiver: (000100) is closer to (000000) than to (111111) = ⇒ decode to (000000) = no The closeness can be measured by the Hamming metric. The larger the distance between the codewords, the more errors can be corrected. Tradeoff: The longer the codewords, the lower the information transmission rate.

6 / 39

slide-21
SLIDE 21

An Introduction to (Network) Coding Theory Coding Theory Introduction

Classical channel coding: Receiver: (000100) is closer to (000000) than to (111111) = ⇒ decode to (000000) = no The closeness can be measured by the Hamming metric. The larger the distance between the codewords, the more errors can be corrected. Tradeoff: The longer the codewords, the lower the information transmission rate.

6 / 39

slide-22
SLIDE 22

An Introduction to (Network) Coding Theory Coding Theory Introduction

Errors/noise Maybe you wonder why the error correction is so important. This is because we do not live in a perfect vacuum where everything works “as it should”. Noise is around everywhere, think of particles in the air (when sending data wireless), or scratches on a CD (when storing data on the CD), or electromagnetic interference in cables (when sending data over wires).

7 / 39

slide-23
SLIDE 23

An Introduction to (Network) Coding Theory Coding Theory Introduction

Errors/noise Maybe you wonder why the error correction is so important. This is because we do not live in a perfect vacuum where everything works “as it should”. Noise is around everywhere, think of particles in the air (when sending data wireless), or scratches on a CD (when storing data on the CD), or electromagnetic interference in cables (when sending data over wires). However, we always assume that errors are less likely than noise-free transmission (per element). Thus the most likely sent codeword corresponds to the one with the least number of errors, compared to the received word.

7 / 39

slide-24
SLIDE 24

An Introduction to (Network) Coding Theory Coding Theory Introduction

Data representation over finite fields You have probably heard that computers (or smart phones and similar devices) work with binary data. However, some technologies like e.g. flash drives also use more numbers than just 0 and 1. Even for binary representation it is often advantageous to represent data in binary extension fields. In general we say that data is represented as vectors over some finite field Fq.

8 / 39

slide-25
SLIDE 25

An Introduction to (Network) Coding Theory Coding Theory Introduction

Definition A block code is a subset C ⊆ Fn

q . The Hamming distance of

u, v ∈ Fn

q is defined as

dH((u1, . . . , un), (v1, . . . , vn)) := |{i | ui = vi}|. The minimum (Hamming) distance of the code is defined as dH(C) := min{dH(u, v) | u, v ∈ C, u = v}. The transmission rate of C is defined as logq(|C|)/n.

9 / 39

slide-26
SLIDE 26

An Introduction to (Network) Coding Theory Coding Theory Introduction

Theorem Let C be a code with minimum Hamming distance dH(C) = d. Then for any codeword c ∈ C any (dH(C) − 1)/2 errors can be corrected. = ⇒ the error correction capability of C is ⌊(dH(C) − 1)/2⌋

10 / 39

slide-27
SLIDE 27

An Introduction to (Network) Coding Theory Coding Theory Introduction

Example (repetition code): Remember the code from the introduction slides: C = {(000000), (111111)} This code has transmission rate log2(2)/6 = 1/6. This code has minimum Hamming distance 6 (since all coordinates differ). The error correction capability is ⌊(6 − 1)/2⌋ = 2. Indeed, if we receive e.g. (110000), the unique closest codeword is (000000). However, for (111000) there is no unique closest codeword, hence we cannot correct 3 errors.

11 / 39

slide-28
SLIDE 28

An Introduction to (Network) Coding Theory Coding Theory Introduction

The general repetition code: Definition The repetition code over Fq of length n is defined as C := {(x, x, . . . , x)

  • n

| x ∈ Fq}. It has cardinality q and minimum Hamming distance n.

12 / 39

slide-29
SLIDE 29

An Introduction to (Network) Coding Theory Coding Theory Introduction

The general repetition code: Definition The repetition code over Fq of length n is defined as C := {(x, x, . . . , x)

  • n

| x ∈ Fq}. It has cardinality q and minimum Hamming distance n. transmission rate = 1/n error correction capability = ⌊(n − 1)/2⌋

12 / 39

slide-30
SLIDE 30

An Introduction to (Network) Coding Theory Coding Theory Introduction

Typical questions in channel coding theory: For a given error correction capability, what is the best transmission rate? = ⇒ packing problem in metric space (Fn

q , dH)

How can one efficiently encode, decode, recover the messages? = ⇒ algebraic structure in the code What is the trade-off between the two above?

13 / 39

slide-31
SLIDE 31

An Introduction to (Network) Coding Theory Coding Theory Introduction

Typical questions in channel coding theory: For a given error correction capability, what is the best transmission rate? = ⇒ packing problem in metric space (Fn

q , dH)

How can one efficiently encode, decode, recover the messages? = ⇒ algebraic structure in the code What is the trade-off between the two above? Typical tools used in classical setup: linear subspaces of Fn

q

polynomials (and their roots) in Fq[x] finite projective geometry

13 / 39

slide-32
SLIDE 32

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

The most prominent family of error-correcting codes – Reed-Solomon codes

14 / 39

slide-33
SLIDE 33

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

Definition (Reed-Solomon codes) Let a1, . . . , an ∈ Fq be distinct. The code C = {(f(a1), f(a2), . . . , f(an)) | f ∈ Fq[x], deg f < k} is called a Reed-Solomon code of length n and dimension k. It has minimum Hamming distance n − k + 1 (optimal).

15 / 39

slide-34
SLIDE 34

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

Definition (Reed-Solomon codes) Let a1, . . . , an ∈ Fq be distinct. The code C = {(f(a1), f(a2), . . . , f(an)) | f ∈ Fq[x], deg f < k} is called a Reed-Solomon code of length n and dimension k. It has minimum Hamming distance n − k + 1 (optimal). A Reed-Solomon code is a linear subspace of Fn

q of dimension k,

it can be represented by a (row) generator matrix G =        1 1 . . . 1 a1 a2 . . . an a2

1

a2

2

. . . a2

n

. . . . . . ak−1

1

ak−1

2

. . . ak−1

n

       .

15 / 39

slide-35
SLIDE 35

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

Example: Consider F3 = {0, 1, 2}, n = 3, k = 2 and the evaluation points a1 = 0, a2 = 1, a3 = 2. Polynomials of degree ≤ 0: 0, 1, 2 Polynomials of degree 1: x, x + 1, x + 2, 2x, 2x + 1, 2x + 2 Codewords: f(x) (f(0), f(1), f(2)) (000) 1 (111) 2 (222) x (012) x + 1 (120) x + 2 (201) 2x (021) 2x + 1 (102) 2x + 2 (210)

16 / 39

slide-36
SLIDE 36

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

f(x) (f(0), f(1), f(2)) (000) 1 (111) 2 (222) x (012) x + 1 (120) x + 2 (201) 2x (021) 2x + 1 (102) 2x + 2 (210) The generator matrix in reduced row echelon form of this code is G = 1 2 1 2

  • .

17 / 39

slide-37
SLIDE 37

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

f(x) (f(0), f(1), f(2)) (000) 1 (111) 2 (222) x (012) x + 1 (120) x + 2 (201) 2x (021) 2x + 1 (102) 2x + 2 (210) The generator matrix in reduced row echelon form of this code is G = 1 2 1 2

  • .

= ⇒ any two words differ in ≥ n − k + 1 = 3 − 2 + 1 = 2 positions (dH(C) = 2).

17 / 39

slide-38
SLIDE 38

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

Why Reed-Solomon codes are awesome: One can show that for a linear code of dimension k and length n, the minimum Hamming distance cannot exceed n − k + 1 (Singleton bound). = ⇒ RS-codes are optimal, since they reach this bound.

18 / 39

slide-39
SLIDE 39

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

Why Reed-Solomon codes are awesome: One can show that for a linear code of dimension k and length n, the minimum Hamming distance cannot exceed n − k + 1 (Singleton bound). = ⇒ RS-codes are optimal, since they reach this bound. Decoding can be translated into a polynomial interpolation problem. = ⇒ RS-codes can be decoded quite efficiently.

18 / 39

slide-40
SLIDE 40

An Introduction to (Network) Coding Theory Coding Theory Reed-Solomon Codes

Why Reed-Solomon codes are awesome: One can show that for a linear code of dimension k and length n, the minimum Hamming distance cannot exceed n − k + 1 (Singleton bound). = ⇒ RS-codes are optimal, since they reach this bound. Decoding can be translated into a polynomial interpolation problem. = ⇒ RS-codes can be decoded quite efficiently. Why RS-codes are not the solution to everything: The underlying field size needs to be as large as the length!

18 / 39

slide-41
SLIDE 41

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

1 Coding Theory

Introduction Reed-Solomon Codes

2 Network Coding Theory

Introduction Gabidulin Codes

3 Summary and Outlook

19 / 39

slide-42
SLIDE 42

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Network channel The multicast model: All receivers want to get the same information at the same time.

20 / 39

slide-43
SLIDE 43

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Network channel The multicast model: All receivers want to get the same information at the same time.

20 / 39

slide-44
SLIDE 44

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Example (Butterfly Network) Linearly combining is better than forwarding:

R2 R1

a a a a a b b b a

R1 receives only a, R2 receives a and b. Forwarding: need 2 transmissions to transmit a, b to both receivers

21 / 39

slide-45
SLIDE 45

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Example (Butterfly Network) Linearly combining is better than forwarding:

R2 R1

a a a a+b a+b b b b a+b

R1 and R2 can both recover a and b with one operation. Forwarding: need 2 transmissions to transmit a, b to both receivers Linearly combining: need 1 transmission to transmit a, b to both receivers

21 / 39

slide-46
SLIDE 46

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

It turns out that linear combinations at the inner nodes are “sufficient” to reach capacity: Theorem One can reach the capacity of a single-source multicast network channel with linear combinations at the inner nodes.

22 / 39

slide-47
SLIDE 47

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

It turns out that linear combinations at the inner nodes are “sufficient” to reach capacity: Theorem One can reach the capacity of a single-source multicast network channel with linear combinations at the inner nodes. When we consider large or time-varying networks, we allow the inner nodes to transmit random linear combinations of their incoming vectors. Theorem One can reach the capacity of a single-source multicast network channel with random linear combinations at the inner nodes, provided that the field size is large.

22 / 39

slide-48
SLIDE 48

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Two settings for linear network coding: Coherent (linear) network coding – we prescribe each inner node the linear transformation Non-coherent or random (linear) network coding

e.g. time-varying networks, large networks, ... allow each inner node to send out a random linear combination of its incoming vectors

23 / 39

slide-49
SLIDE 49

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Problem 1: errors propagate!

b b +e a c

24 / 39

slide-50
SLIDE 50

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Problem 1: errors propagate!

b b +e a c

24 / 39

slide-51
SLIDE 51

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Problem 1: errors propagate!

b b +e a c

Problem 2: receiver does not know the random operations (in non-coherent setting)

24 / 39

slide-52
SLIDE 52

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Problem 1: errors propagate!

b b +e a c

Problem 2: receiver does not know the random operations (in non-coherent setting) Solution: Use a metric space such that

1 # of errors is reflected in the distance between points, and 2 the points are invariant under linear combinations (for

non-coherent).

24 / 39

slide-53
SLIDE 53

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

For the coherent case: Definition matrix space: Fm×n

q

rank distance: dR(U, V ) := rank(U − V ) Fm×n

q

equipped with dR is a metric space. Definition A rank-metric code is a subset of Fm×n. The minimum rank distance of the code C ⊆ Fm×n is defined as dR(C) := min{dR(U, V ) | U, V ∈ C, U = V }. A rank-metric code C can correct any error (matrix) of rank at most (dR(C) − 1)/2.

25 / 39

slide-54
SLIDE 54

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Example (in F2×4

2

) C = 1 1

  • ,

1 1 1 1

  • , dR(C) = 2.

1000 0100 1000 0100 1100 1000 1100 1100 0100

No errors: receive 1 1 1

  • A1

·sent, respectively 1 1 1

  • A2

·sent

26 / 39

slide-55
SLIDE 55

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Example (in F2×4

2

) C = 1 1

  • ,

1 1 1 1

  • , dR(C) = 2.

1000 0100 1001 0100 1101 1001 1101 1101 0100 +0001

One error: dR(A−1

i

· received, sent) = 1, dR(A−1

i

· received, other) = 2

26 / 39

slide-56
SLIDE 56

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

For the non-coherent case: Definition Grassmann variety: Gq(k, n) := {U ≤ Fn

q | dim(U) = k}

subspace distance: dS(U, V ) := 2k − 2 dim(U ∩ V ) Gq(k, n) equipped with dS is a metric space. Definition A (constant dimension) subspace code is a subset of Gq(k, n). The minimum distance of the code C ⊆ Gq(k, n) is defined as dS(C) := min{dS(U, V ) | U, V ∈ C, U = V }. The error-correction capability in the network coding setting of a subspace code C is (dS(C) − 1)/2.

27 / 39

slide-57
SLIDE 57

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Example (in G2(2, 4)) C =

  • rs

1 1

  • , rs

1 1 1 1

  • , dS(C) = 4.

1000 0100 1000 0100 1100 1000 1100 1100 0100

No errors: receive a (different) basis of the same vector space

28 / 39

slide-58
SLIDE 58

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Example (in G2(2, 4)) C =

  • rs

1 1

  • , rs

1 1 1 1

  • , dS(C) = 4.

1000 0100 1001 0100 1101 1001 1101 1101 0100 +0001

One error: dS(received, sent) = 2, dS(received, other) = 4

28 / 39

slide-59
SLIDE 59

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Research goals Find good packings in (Fm×n

q

, dR), respectively (Gq(k, n), dS). = ⇒ best transmission rate for given error correction capability Find good packings in Fm×n

q

, respectively Gq(k, n), with algebraic structure. = ⇒ good encoding/decoding algorithms

29 / 39

slide-60
SLIDE 60

An Introduction to (Network) Coding Theory Network Coding Theory Introduction

Research goals Find good packings in (Fm×n

q

, dR), respectively (Gq(k, n), dS). = ⇒ best transmission rate for given error correction capability Find good packings in Fm×n

q

, respectively Gq(k, n), with algebraic structure. = ⇒ good encoding/decoding algorithms Typical tools linearized polynomials in Fq[x] Singer cycles, difference sets (partial) spreads

29 / 39

slide-61
SLIDE 61

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

The most prominent family of rank-metric codes – Gabidulin codes

30 / 39

slide-62
SLIDE 62

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Preliminaries: Isomorphism: Fqm ∼ = Fm

q

This induces another isomorphism: Fn

qm ∼

= Fm×n

q

31 / 39

slide-63
SLIDE 63

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Preliminaries: Isomorphism: Fqm ∼ = Fm

q

This induces another isomorphism: Fn

qm ∼

= Fm×n

q

Linearized polynomial: f(x) =

d

  • i=0

fixqi The set of all linearized polynomials is denoted by Lq[x].

31 / 39

slide-64
SLIDE 64

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Definition (Gabidulin codes) Let a1, . . . , an ∈ Fqm be linearly independent over Fq. The code C = {(f(a1), f(a2), . . . , f(an)) | f ∈ Lq[x], deg f < qk} is called a Gabidulin code of length n and dimension k. It has minimum rank distance n − k + 1 (optimal).

32 / 39

slide-65
SLIDE 65

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Definition (Gabidulin codes) Let a1, . . . , an ∈ Fqm be linearly independent over Fq. The code C = {(f(a1), f(a2), . . . , f(an)) | f ∈ Lq[x], deg f < qk} is called a Gabidulin code of length n and dimension k. It has minimum rank distance n − k + 1 (optimal). A Gabidulin code is a linear subspace of Fn

qm of dimension k, it

can be represented by a (row) generator matrix G =         a1 a2 . . . an aq

1

aq

2

. . . aq

n

aq2

1

aq2

2

. . . aq2

n

. . . . . . aqk−1

1

aqk−1

2

. . . aqk−1

n

        .

32 / 39

slide-66
SLIDE 66

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Example: Consider F4 = {0, 1, α, α + 1}, n = 2, k = 1 and the evaluation points a1 = 1, a2 = α.

  • Lin. polynomials of degree ≤ q0:

0, x, αx, (α + 1)x Codewords: f(x) (f(1), f(α)) matrix (0, 0)

  • x

(1, α) 1 1

  • αx

(α, α + 1) 1 1 1

  • (α + 1)x

(α + 1, 1) 1 1 1

  • 33 / 39
slide-67
SLIDE 67

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

f(x) (f(1), f(α)) matrix (0, 0)

  • x

(1, α) 1 1

  • αx

(α, α + 1) 1 1 1

  • (α + 1)x

(α + 1, 1) 1 1 1

  • The generator matrix in reduced row echelon form of this code

is G =

  • 1

α

  • .

34 / 39

slide-68
SLIDE 68

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

f(x) (f(1), f(α)) matrix (0, 0)

  • x

(1, α) 1 1

  • αx

(α, α + 1) 1 1 1

  • (α + 1)x

(α + 1, 1) 1 1 1

  • The generator matrix in reduced row echelon form of this code

is G =

  • 1

α

  • .

= ⇒ The difference of any two words has full rank: dR(C) = 2.

34 / 39

slide-69
SLIDE 69

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Why Gabidulin codes are awesome: One can show that for a linear rank-metric code of dimension k and size m × n, the minimum rank distance cannot exceed max(n, m)(min(n, m) − k + 1) (Singleton-like bound). = ⇒ Gabidulin codes are optimal, since they reach this bound.

35 / 39

slide-70
SLIDE 70

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Why Gabidulin codes are awesome: One can show that for a linear rank-metric code of dimension k and size m × n, the minimum rank distance cannot exceed max(n, m)(min(n, m) − k + 1) (Singleton-like bound). = ⇒ Gabidulin codes are optimal, since they reach this bound. Decoding can be translated into a linearized polynomial interpolation problem. = ⇒ Gabidulin codes can be decoded quite efficiently.

35 / 39

slide-71
SLIDE 71

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Why Gabidulin codes are awesome: One can show that for a linear rank-metric code of dimension k and size m × n, the minimum rank distance cannot exceed max(n, m)(min(n, m) − k + 1) (Singleton-like bound). = ⇒ Gabidulin codes are optimal, since they reach this bound. Decoding can be translated into a linearized polynomial interpolation problem. = ⇒ Gabidulin codes can be decoded quite efficiently. Difference to RS-codes: Although m needs to be at least n, this does not matter much – we can simply transpose the matrices to get a rank-metric code with m ≤ n. Hence, we can construct Gabidulin codes for any q, n, m, k!

35 / 39

slide-72
SLIDE 72

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

How to use Gabidulin codes for the non-coherent setting

36 / 39

slide-73
SLIDE 73

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Theorem Let C ⊆ Fk×(n−k)

q

be a rank-metric code with minimum rank distance dR. Then the lifted code lift(C) := {rs[Ik | U] | U ∈ C} is a subspace code in Gq(k, n) with minimum subspace distance dS = 2dR.

37 / 39

slide-74
SLIDE 74

An Introduction to (Network) Coding Theory Network Coding Theory Gabidulin Codes

Theorem Let C ⊆ Fk×(n−k)

q

be a rank-metric code with minimum rank distance dR. Then the lifted code lift(C) := {rs[Ik | U] | U ∈ C} is a subspace code in Gq(k, n) with minimum subspace distance dS = 2dR. Lifted Gabidulin codes are not optimal, but only a factor 4 away from the theoretical upper bound on the cardinality (therefore they are asymptotically optimal). Decoding the lifted code basically translates to decoding the original rank-metric code.

37 / 39

slide-75
SLIDE 75

An Introduction to (Network) Coding Theory Summary and Outlook

1 Coding Theory

Introduction Reed-Solomon Codes

2 Network Coding Theory

Introduction Gabidulin Codes

3 Summary and Outlook

slide-76
SLIDE 76

An Introduction to (Network) Coding Theory Summary and Outlook

Summary We gave an introduction to classical (channel) coding theory.

codewords are vectors over finite fields

The most prominent family of codes for this setup are the Reed-Solomon codes. We gave an introduction to network coding theory:

coherent (codewords are matrices) non-coherent or random (codewords are subspaces)

The most prominent family of codes for this setup are the (lifted) Gabidulin codes (also called Reed-Solomon-like codes).

38 / 39

slide-77
SLIDE 77

An Introduction to (Network) Coding Theory Summary and Outlook

Outlook Rank-metric codes (and sometimes subspace codes) are also used in cryptography. (Here also non-Gabidulin codes are of interest.) Gabidulin codes are also used in distributed storage. Other constructions of subspace codes use techniques from

projective geometry (spreads, sunflowers) enumerative geometry (intersection numbers) q-analogs of designs (combinatoricss) group theory (orbits in Gq(k, n)) .

Thank you for your attention! Questions? – Comments?

39 / 39