Network Coding and Schubert Varieties over Finite Fields Anna-Lena Horlemann-Trautmann Algorithmics Laboratory, EPFL, Schweiz October 12th, 2016 University of Kentucky
What is this talk about? 1 / 31
Overview 1 Overview Network Coding 2 Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q (k, n) Schubert Calculus 3 Conclusions and Related Work
Overview A little bit of history... Claude Shannon (1916-2001), the Father of 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 / 31
Overview... deals with noisy transmission of information over space (communication) over time (storage) 3 / 31
Overview... deals with noisy transmission of information over space (communication) over 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. 3 / 31
Overview Classical setup (simple channel): 4 / 31
Overview Classical setup (simple channel): 4 / 31
Overview Classical setup (simple channel): 4 / 31
Overview Classical setup (simple channel): codewords are vectors of length n over a finite field F q received word = codeword + error vector (r = c + e F n q ) most likely sent codeword = closest codeword w.r.t. Hamming distance: d H ((u 1,..., u n ), (v 1,..., v n )) := {i u i v i }. 4 / 31
Overview Definition A block code is a subset C F n q. The minimum (Hamming) distance of the code is defined as d H (C) := min{d H (u, v) u, v C, u v}. The transmission rate of C is defined as log q ( C )/n. 5 / 31
Overview Definition A block code is a subset C F n q. The minimum (Hamming) distance of the code is defined as d H (C) := min{d H (u, v) u, v C, u v}. The transmission rate of C is defined as log q ( C )/n. Theorem For any e F n q with supp(e) (d H (C) 1)/2, d H (c, c + e) < d H (c, c + e) c c C. = the error-correction capability of C is (d H (C) 1)/2 5 / 31
Overview Typical questions in channel coding theory: For a given error correction capability, what is the best transmission rate? = packing problem in (F n q, d H ) How can one efficiently encode, decode, recover the messages? = algebraic structure in the code What is the trade-off between the two above? 6 / 31
Overview Typical questions in channel coding theory: For a given error correction capability, what is the best transmission rate? = packing problem in (F n q, d H ) 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 F n q polynomials (and their roots) in F q [x] finite projective geometry 6 / 31
Network Coding 1 Overview Network Coding 2 Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q (k, n) Schubert Calculus 3 Conclusions and Related Work
Network Coding Multicast Channel All receivers want to receive the same information. 7 / 31
Network Coding Example (Butterfly Network) Linearly combining is better than forwarding: a a a a a R1 b b a b R2 R1 receives only a, R2 receives a and b. Forwarding: need 2 transmissions to transmit a, b to both receivers 8 / 31
Network Coding Example (Butterfly Network) Linearly combining is better than forwarding: a a a a+b a+b R1 b b a+b b R2 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 8 / 31
Network Coding 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. 9 / 31
Network Coding 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. 9 / 31
Network Coding Problem 1: errors propagate! a b b +e c 10 / 31
Network Coding Problem 1: errors propagate! a b b +e c 10 / 31
Network Coding Problem 1: errors propagate! a b b +e c Problem 2: receiver does not know the random operations 10 / 31
Network Coding Problem 1: errors propagate! a b b +e c Problem 2: receiver does not know the random operations 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. 10 / 31
Network Coding Lucky us... 11 / 31
Network Coding Lucky us... such a space exists! 11 / 31
Network Coding Definition Grassmannian: G q (k, n) := {U F n q dim(u) = k} projective geometry: P q (n) := n k=1 G q(k, n) subspace distance: d S (U, V) := dim(u + V) dim(u V) Theorem P q (n) (or G q (k, n)) equipped with d S is a metric space. Hermann Graßmann (1809-1877) 12 / 31
Network Coding For simplicity we stick to G q (k, n). Definition A (constant dimension) subspace code is a subset of G q (k, n). The minimum distance of the code C G q (k, n) is defined as d S (C) := min{d S (U, V) U, V C, U V}. 13 / 31
Network Coding For simplicity we stick to G q (k, n). Definition A (constant dimension) subspace code is a subset of G q (k, n). The minimum distance of the code C G q (k, n) is defined as Type of errors: d S (C) := min{d S (U, V) U, V C, U V}. deletions decrease in dimension of codeword insertions increase in dimension of codeword 13 / 31
Network Coding For simplicity we stick to G q (k, n). Definition A (constant dimension) subspace code is a subset of G q (k, n). The minimum distance of the code C G q (k, n) is defined as Type of errors: d S (C) := min{d S (U, V) U, V C, U V}. deletions decrease in dimension of codeword insertions increase in dimension of codeword Code parameters: error-correction capability is (d S (C) 1)/2 transmission rate is log q ( C )/(kn) 13 / 31
Network Coding Example in G 2 (2, 4) C = { ( 1 0 0 0 rs 0 1 0 0 ) ( 1 0 1 0, rs 0 1 0 1 )}, d S (C) = 4. 1000 1000 1000 1100 1100 0100 0100 1100 0100 No errors: receive a (different) basis of the same vector space 14 / 31
Network Coding Example in G 2 (2, 4) C = { ( 1 0 0 0 rs 0 1 0 0 ) ( 1 0 1 0, rs 0 1 0 1 )}, d S (C) = 4. 1000 0000 0000 1100 1100 0100 0100 1100 0100 Deletion in R 1 : d S (received, sent) = 1, d S (received, other) = 3 14 / 31
Network Coding Example in G 2 (2, 4) C = { ( 1 0 0 0 rs 0 1 0 0 ) ( 1 0 1 0, rs 0 1 0 1 )}, d S (C) = 4. 1000 +0001 1001 1001 1101 1101 0100 0100 1101 0100 Deletion + insertion in R 1 and R 2 : d S (received, sent) = 2, d S (received, other) = 4 14 / 31
Network Coding Research goals Find good packings in G q (k, n) with a given maximal intersection of the subspaces. = best transmission rate for given error correction capability Find good packings in G q (k, n) with algebraic structure. = good encoding/decoding algorithms 15 / 31
Network Coding Research goals Find good packings in G q (k, n) with a given maximal intersection of the subspaces. = best transmission rate for given error correction capability Find good packings in G q (k, n) with algebraic structure. = good encoding/decoding algorithms Typical tools linearized polynomials in F q [x] Singer cycles, difference sets (partial) spreads 15 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) 1 Overview Network Coding 2 Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q (k, n) Schubert Calculus 3 Conclusions and Related Work
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Definition The Grassmannian G q (k, n) can be embedded into projective space using the Plücker embedding: ψ : G q (k, n) P (n k) 1 (F q ) rs(u k n ) [x U 1,...,k : xu 1,...,k 1,k+1 : : xu n k+1,...,n ] where x U i 1,...,i k = det(u[i 1,..., i k ]). Julius Plücker (1801-1868) 16 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Theorem The image of ψ is the solution set of the shuffle relations sgn(σ j )x i1,...,i k+1 \jx j,ik+2,...,i 2k = 0. j {i 1,...,i k+1 } Example The shuffle relations of G q (2, 5) are x 12 x 34 x 13 x 24 + x 14 x 23 = 0, x 12 x 35 x 13 x 25 + x 15 x 23 = 0, x 12 x 45 x 14 x 25 + x 15 x 24 = 0, x 13 x 45 x 14 x 35 + x 15 x 34 = 0, x 23 x 45 x 24 x 35 + x 25 x 34 = 0. 17 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 3 (2, 4) Shuffle relation: x 12 x 34 x 13 x 24 + x 14 x 23 = 0 Embedding: ( ) 1 0 1 2 rs [1 : 0 : 1 : 1 : 2 : 1] 0 1 0 1 18 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 3 (2, 4) Shuffle relation: x 12 x 34 x 13 x 24 + x 14 x 23 = 0 Embedding: ( ) 1 0 1 2 rs [1 : 0 : 1 : 1 : 2 : 1] 0 1 0 1 Inverse: ( [0 : 0 : 0 : 1 : 2 : 1] rs ) 18 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 3 (2, 4) Shuffle relation: x 12 x 34 x 13 x 24 + x 14 x 23 = 0 Embedding: ( ) 1 0 1 2 rs [1 : 0 : 1 : 1 : 2 : 1] 0 1 0 1 Inverse: ( 1 0 [0 : 0 : 0 : 1 : 2 : 1] rs 0 1 ) 18 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 3 (2, 4) Shuffle relation: x 12 x 34 x 13 x 24 + x 14 x 23 = 0 Embedding: ( ) 1 0 1 2 rs [1 : 0 : 1 : 1 : 2 : 1] 0 1 0 1 Inverse: ( 0 1 0 [0 : 0 : 0 : 1 : 2 : 1] rs 0 0 1 ) 18 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 3 (2, 4) Shuffle relation: x 12 x 34 x 13 x 24 + x 14 x 23 = 0 Embedding: ( ) 1 0 1 2 rs [1 : 0 : 1 : 1 : 2 : 1] 0 1 0 1 Inverse: ( 0 1 0 [0 : 0 : 0 : 1 : 2 : 1] rs 0 0 1 2 ) 18 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 3 (2, 4) Shuffle relation: x 12 x 34 x 13 x 24 + x 14 x 23 = 0 Embedding: ( ) 1 0 1 2 rs [1 : 0 : 1 : 1 : 2 : 1] 0 1 0 1 Inverse: ( 0 1 0 1 [0 : 0 : 0 : 1 : 2 : 1] rs 0 0 1 2 ) 18 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Definition Let F = {0} V 1 V n 1 V n = F n q a complete flag and v = (v 1,..., v k ) a set of strictly increasing integers from [n]. A Schubert variety is defined as S(v; F) := {U G q (k, n) dim(u V vi ) i}. Hermann Schubert (1848-1911) 19 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Bruhat order: (i 1,..., i k ) (j 1,..., j k ) i l j l l Theorem Let F = {0} e 1 e 1, e 2 F n q the standard flag and v = (v 1,..., v k ) a set of strictly increasing integers from [n]. In the Plücker embedding of G q (k, n) we have S(v; F) = {[x 1,...,k : : x n k+1,...,n ] x i1,...,i k = 0 (i 1,..., i k ) v}. = Schubert varieties are linear varieties in the Plücker embedding. 20 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example Let F be the flag {0} V 1 = e 1 V 2 = e 1, e 2 V 3 = e 1, e 2, e 3 V 4 = F 4 q. S((2, 4); F) = {U G q (2, 4) dim(u V 2 ) 1 and dim(u V 4 ) 2} = {U G q (2, 4) x i1,i 2 = 0 (i 1, i 2 ) (2, 4)} = {U G q (2, 4) x 34 = 0} 21 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example Let F be the flag {0} V 1 = e 1 V 2 = e 1, e 2 V 3 = e 1, e 2, e 3 V 4 = F 4 q. S((2, 4); F) = {U G q (2, 4) dim(u V 2 ) 1 and dim(u V 4 ) 2} = {U G q (2, 4) x i1,i 2 = 0 (i 1, i 2 ) (2, 4)} = {U G q (2, 4) x 34 = 0} ( 1 0 0 rs 0 1 ) ( 1 0 0, rs 0 1 0 ( 1 0 0 0 rs 0 1 0 ) ( 1 0 0 0, rs 0 1 0 0 ) ( 1 0 0 0, rs 0 1 ) ) 21 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Connection to network coding theory Theorem The balls B 2t (U) w.r.t.t. subspace metric are Schubert varieties, with ordered index set v = (t + 1,..., k, n t + 1,..., n) and flag Corollary {0} U F n q. In the Plücker embedding, if U = e 1, e 2,..., e k, B 2t (U) = {[x 1,...,k : : x n k+1,...,n ] x i1,...,i k = 0 if i k t k+1}. For other U G q (k, n) we get a similar results by basis change. = Schubert varieties play a role in code constructions, decoding algorithms. 22 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Decoding based on Schubert varieties Assume the code C is a linear variety in the Plücker embedding and we have a received R G q (k, n). Solve system of linear equations from B 2t (R) and the code equations. Intersect the solution space with the algebraic variety of the shuffle relations. Output: all codewords within radius 2t around R. 23 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Decoding based on Schubert varieties Assume the code C is a linear variety in the Plücker embedding and we have a received R G q (k, n). Solve system of linear equations from B 2t (R) and the code equations. Intersect the solution space with the algebraic variety of the shuffle relations. Output: all codewords within radius 2t around R. Problem: Too many variables and bilinear equations! 23 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Decoding based on Schubert varieties Assume the code C is a linear variety in the Plücker embedding and we have a received R G q (k, n). Solve system of linear equations from B 2t (R) and the code equations. Intersect the solution space with the algebraic variety of the shuffle relations. Output: all codewords within radius 2t around R. Problem: Too many variables and bilinear equations! But: For certain codes and parameter sets we can reduce the number of variables and get a feasible decoder. 23 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 2 (2, 4) shuffle relation: x 12 x 34 + x 13 x 24 + x 14 x 23 = 0 code equations: x 13 + x 14 + x 24 = 0, x 14 + x 23 = 0 = spread code with C = 5 and d S (C) = 4 24 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 2 (2, 4) shuffle relation: x 12 x 34 + x 13 x 24 + x 14 x 23 = 0 code equations: x 13 + x 14 + x 24 = 0, x 14 + x 23 = 0 = spread code with C = 5 and d S (C) = 4 ( ) 1 0 1 0 received R = rs [0 : 0 : 1 : 0 : 0 : 1] 0 0 0 1 = equation for B 2 (R): x 12 + x 23 = 0 24 / 31
Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q(k, n) Example in G 2 (2, 4) shuffle relation: x 12 x 34 + x 13 x 24 + x 14 x 23 = 0 code equations: x 13 + x 14 + x 24 = 0, x 14 + x 23 = 0 = spread code with C = 5 and d S (C) = 4 ( ) 1 0 1 0 received R = rs [0 : 0 : 1 : 0 : 0 : 1] 0 0 0 1 = equation for B 2 (R): x 12 + x 23 = 0 solutions: [0 : 0 : 0 : 0 : 0 : 1], [1 : 1 : 1 : 1 : 0 : 1], [1 : 0 : 1 : 1 : 1 : 1] = ( 0 0 1 0 rs 0 0 0 1 ) ( 1 0 1 0, rs 0 1 1 1 ) ( 1 0 1 1, rs 0 1 0 1 ) 24 / 31
Schubert Varieties (over Finite Fields) Schubert Calculus 1 Overview Network Coding 2 Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q (k, n) Schubert Calculus 3 Conclusions and Related Work
Schubert Varieties (over Finite Fields) Schubert Calculus Hilbert s Problem #15 To establish rigorously and with an exact determination of the limits of their validity those geometrical numbers which Schubert especially has determined on the basis of the so-called principle of special position, or conservation of number, by means of the enumerative calculus developed by him. David Hilbert (1862-1943) 25 / 31
Schubert Varieties (over Finite Fields) Schubert Calculus Classical Schubert calculus is defined over C = very well understood Schubert calculus over R has been studied since 1990s = classical techniques partly work Schubert calculus over F q is mostly unknown = classical techniques do not work 26 / 31
Schubert Varieties (over Finite Fields) Schubert Calculus Classical Schubert calculus is defined over C = very well understood Schubert calculus over R has been studied since 1990s = classical techniques partly work Schubert calculus over F q is mostly unknown = classical techniques do not work Problem with F q In contrast to C, F q is far from algebraically closed! 26 / 31
Schubert Varieties (over Finite Fields) Schubert Calculus Classical question: How many planes in F 4 intersect four given planes in F 4 in general position? if F = C we have 2 if F = R we have 0 or 2 if F = F q we have 0 or 2 (up to multiplicity) 27 / 31
Schubert Varieties (over Finite Fields) Schubert Calculus E.g., let the 4 planes be generated by ( ) ( ) ( 1 0 0 0 1 0 1 0 1 0 0 1,, 0 1 0 0 0 1 0 1 0 1 1 1 x 34 = 0 x 12 + x 14 x 23 + x 34 = 0 x 12 x 13 x 23 + x 24 + x 34 = 0 x 12 = 0 x 12 x 34 x 13 x 24 + x 14 x 23 = 0 ) ( 0 0 1 0, 0 0 0 1 ). x 12 = x 34 = 0, x 14 = x 23, x 24 = x 13 + x 23, x 13 (x 13 + x 23 ) = x 2 23 = x 13 = 1, x 2 23 x 23 1 = 0 has no (non-trivial) solution over F 2, F 3 has two (non-trivial) solutions over F 4 has one (non-trivial) solution over F 5 28 / 31
Schubert Varieties (over Finite Fields) Schubert Calculus If we exchange the second plane, we get different solutions: ( ) ( ) ( ) ( 1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 0,,, 0 1 0 0 1 1 1 0 0 1 1 1 0 0 0 1 ). x 34 = 0 x 12 x 13 + x 14 + x 24 + x 34 = 0 x 12 x 13 x 23 + x 24 + x 34 = 0 x 12 = 0 x 12 x 34 x 13 x 24 + x 14 x 23 = 0 x 12 = x 34 = 0, x 14 = x 13 x 24, x 23 = x 24 x 13 = x 13 = 1, x 2 24 x 24 + 1 = 0 has no (non-trivial) solution over F 2, F 5 has two (non-trivial) solutions over F 4 has one (non-trivial) solution over F 3 29 / 31
Conclusions and Related Work 1 Overview Network Coding 2 Schubert Varieties (over Finite Fields) Balls in the Plücker Embedding of G q (k, n) Schubert Calculus 3 Conclusions and Related Work
Conclusions and Related Work Conclusions In channel coding we handle noisy data transmission, where different channel models require different metric spaces for code design. In random network coding this space is the Grassmann variety G q (k, n) with the subspace distance. G q (k, n) is a variety in the Plücker embedding. The balls w.r.t.t. subspace metric are Schubert varieties in the Plücker embedding. Decoding can be done by solving a system of linear equations in the Plücker embedding. 30 / 31
Conclusions and Related Work Conclusions In channel coding we handle noisy data transmission, where different channel models require different metric spaces for code design. In random network coding this space is the Grassmann variety G q (k, n) with the subspace distance. G q (k, n) is a variety in the Plücker embedding. The balls w.r.t.t. subspace metric are Schubert varieties in the Plücker embedding. Decoding can be done by solving a system of linear equations in the Plücker embedding. Open problem 1: how to handle the shuffle relations. Open problem 2: derive Schubert-type calculus over F q. 30 / 31
Conclusions and Related Work Related Work Network coding is related to distributed storage (big data centers, cloud storage) index coding (communication with side information) Random linear network coding is useful for robustness w.r.t. changes and failures in the network resilience against eavesdropping or data corruption Subspace codes can be used for secure storage of biometrics 31 / 31
Conclusions and Related Work Related Work Network coding is related to distributed storage (big data centers, cloud storage) index coding (communication with side information) Random linear network coding is useful for robustness w.r.t. changes and failures in the network resilience against eavesdropping or data corruption Subspace codes can be used for secure storage of biometrics Thank you for your attention! Questions? Remarks? 31 / 31