47
Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1 / 16

Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

  • Upload
    others

  • View
    29

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Canonization of Linear Codes

Thomas Feulner

University of Bayreuth

July 12, 2010

1 / 16

Page 2: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Linear Code

Linear Code

A linear code C is a subspace of Fnq of dimension k .

n, k , q are some fixed parameters.

Generator Matrix

Let C be a linear code. Γ ∈ Fk×nq is a generator matrix of C , if the

rows of Γ form a basis of C .

Set of Generator Matrices of a code

Let Γ be some generator matrix of C . The set of all generatormatrices of C is the orbit GLk(Fq)Γ.

2 / 16

Page 3: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Linear Code

Linear Code

A linear code C is a subspace of Fnq of dimension k .

n, k , q are some fixed parameters.

Generator Matrix

Let C be a linear code. Γ ∈ Fk×nq is a generator matrix of C , if the

rows of Γ form a basis of C .

Set of Generator Matrices of a code

Let Γ be some generator matrix of C . The set of all generatormatrices of C is the orbit GLk(Fq)Γ.

2 / 16

Page 4: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Linear Code

Linear Code

A linear code C is a subspace of Fnq of dimension k .

n, k , q are some fixed parameters.

Generator Matrix

Let C be a linear code. Γ ∈ Fk×nq is a generator matrix of C , if the

rows of Γ form a basis of C .

Set of Generator Matrices of a code

Let Γ be some generator matrix of C . The set of all generatormatrices of C is the orbit GLk(Fq)Γ.

2 / 16

Page 5: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Equivalence

Definition

Two linear codes C ,C ′ are semilinearly isometric (or equivalent)⇐⇒ (ϕ, α, π)Γ is a generator matrix of C ′, with

a column permutation π ∈ Sn

an automorphism α of Fq applied to each entry

a column multiplication vector ϕ ∈ F∗qn

3 / 16

Page 6: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Equivalence

Definition

Two linear codes C ,C ′ are semilinearly isometric (or equivalent)⇐⇒ (ϕ, α, π)Γ is a generator matrix of C ′, with

a column permutation π ∈ Sn

an automorphism α of Fq applied to each entry

a column multiplication vector ϕ ∈ F∗qn

3 / 16

Page 7: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Equivalence

Definition

Two linear codes C ,C ′ are semilinearly isometric (or equivalent)⇐⇒ (ϕ, α, π)Γ is a generator matrix of C ′, with

a column permutation π ∈ Sn

an automorphism α of Fq applied to each entry

a column multiplication vector ϕ ∈ F∗qn

3 / 16

Page 8: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Equivalence

Definition

Two linear codes C ,C ′ are semilinearly isometric (or equivalent)⇐⇒ (ϕ, α, π)Γ is a generator matrix of C ′, with

a column permutation π ∈ Sn

an automorphism α of Fq applied to each entry

a column multiplication vector ϕ ∈ F∗qn

3 / 16

Page 9: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal

Canonization Algorithm Can

Input: A generator matrix Γ

Output: A generator matrix Can(Γ) which generates anequivalent code such that the result is unique forequivalent generator matrices.

Byproduct: The automorphism group of the code, i.e. thestabilizer subgroup of Γ.

4 / 16

Page 10: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal

Canonization Algorithm Can

Input: A generator matrix Γ

Output: A generator matrix Can(Γ) which generates anequivalent code such that the result is unique forequivalent generator matrices.

Byproduct: The automorphism group of the code, i.e. thestabilizer subgroup of Γ.

4 / 16

Page 11: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal

Canonization Algorithm Can

Input: A generator matrix Γ

Output: A generator matrix Can(Γ) which generates anequivalent code such that the result is unique forequivalent generator matrices.

Byproduct: The automorphism group of the code, i.e. thestabilizer subgroup of Γ.

4 / 16

Page 12: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal

Canonization Algorithm Can

Input: A generator matrix Γ

Output: A generator matrix Can(Γ) which generates anequivalent code such that the result is unique forequivalent generator matrices.

Byproduct: The automorphism group of the code, i.e. thestabilizer subgroup of Γ.

4 / 16

Page 13: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal: Canonization

Tool: Group action on generator matrices(GLk(Fq)× (F∗q)n

)o (Aut(Fq)× Sn)

5 / 16

Page 14: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal: Canonization

Tool: Group action on generator matrices(GLk(Fq)× (F∗q)n

)o (Aut(Fq)× Sn)

Let Γ, Γ′ ∈ Fk×nq be equivalent generator matrices

Γ

Γ′

orbit of equivalent generator matrices

5 / 16

Page 15: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Goal: Canonization

Tool: Group action on generator matrices(GLk(Fq)× (F∗q)n

)o (Aut(Fq)× Sn)

Let Γ, Γ′ ∈ Fk×nq be equivalent generator matrices

Γ

Γ′

orbit of equivalent generator matrices

Can(Γ) = Can(Γ′)

unique canonical representative

5 / 16

Page 16: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The partition and refinement idea

0

1

2 3

0

3

2 1

(1, 3)There is a well-known, very fast canonization algorithm for graphs:

nauty (B. McKay)

based on

Partition & Refinement

6 / 16

Page 17: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Refinement step

Calculate properties of the vertices, invariant under relabeling!

0

1

2 3

0

3

2 1

(1, 3)

Calculate the degree of the verticesi 0 1 2 3

degree(i) 3 1 2 2

7 / 16

Page 18: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Refinement step

Calculate properties of the vertices, invariant under relabeling!

0

1

2 3

0

3

2 1

(1, 3)

Calculate the degree of the verticesi 0 1 2 3

degree(i) 3 1 2 2

Sort in descending orderi 0 3 2 1

degree(i) 3 2 2 1

7 / 16

Page 19: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Refinement step

Calculate properties of the vertices, invariant under relabeling!

0

1

2 3

0

3

2 1

(1, 3)

Calculate the degree of the verticesi 0 1 2 3

degree(i) 3 1 2 2

Sort in descending orderi 0 3 2 1

degree(i) 3 2 2 1

Relabel the verticesi 0 1 2 3

degree(i) 3 2 2 1

7 / 16

Page 20: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Partition step

0

3

2 1

0

3

2 1

id

0

3

1 2

(1, 2)

Do a backtracking proce-dure.

8 / 16

Page 21: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Partition step

0

3

2 1

0

3

2 1

id

0

3

1 2

(1, 2)

Do a backtracking proce-dure.

Choose a block of verticeswhich have the same color.

8 / 16

Page 22: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Partition step

0

3

2 1

0

3

2 1

id

0

3

1 2

(1, 2)

Do a backtracking proce-dure.

Choose a block of verticeswhich have the same color.

Investigate all possibilities tocolor one vertex in this blockwith a new color and to give itthe smallest label.

8 / 16

Page 23: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

The Partition step

0

3

2 1

0

3

2 1

id

0

3

1 2

(1, 2)

Do a backtracking proce-dure.

?<

The comparison of the leafnodes yields “=”:

(1, 3) and (1, 2)(1, 3) mapthe graph to its canonicalrepresentative

(1, 3)−1(1, 2)(1, 3) is theonly automorphism

8 / 16

Page 24: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Comparison: Graphs and linear Codes

Graphs linear Codes

GroupAction

Sn\\2(n2)

((GLk(Fq)× F∗qn

)o (Aut(Fq)× Sn)

)\\Fk×n

q

9 / 16

Page 25: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Comparison: Graphs and linear Codes

Graphs linear Codes

GroupAction

Sn\\2(n2)

((GLk(Fq)× F∗qn

)o (Aut(Fq)× Sn)

)\\Fk×n

q

replace bySn\\

[((GLk(Fq)× (F∗q)n

)o Aut(Fq)

)\\Fk×n

q

]

9 / 16

Page 26: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Comparison: Graphs and linear Codes

Graphs linear Codes

GroupAction

Sn\\2(n2) Sn\\

[((GLk(Fq)× (F∗q)n

)o Aut(Fq)

)\\Fk×n

q

]

9 / 16

Page 27: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Comparison: Graphs and linear Codes

Graphs linear Codes

GroupAction

Sn\\2(n2) Sn\\

[((GLk(Fq)× (F∗q)n

)o Aut(Fq)

)\\Fk×n

q

]

Re-fine-ment

G -homomorphism for some appropriate G ≤ Sn

2(n2) → X n

Homomorphism of group actions

Let G act on X ,Y .f : X → Y is a G -homomorphism if

f (gx) = gf (x), ∀ x ∈ X , g ∈ G

9 / 16

Page 28: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Comparison: Graphs and linear Codes

Graphs linear Codes

GroupAction

Sn\\2(n2) Sn\\

[((GLk(Fq)× (F∗q)n

)o Aut(Fq)

)\\Fk×n

q

]

Re-fine-ment

G -homomorphism for some appropriate G ≤ Sn

2(n2) → X n

((GLk(Fq)× (F∗q)n

)o Aut(Fq)

)\\Fk×n

q → X n

Homomorphism of group actions

Let G act on X ,Y .f : X → Y is a G -homomorphism if

f (gx) = gf (x), ∀ x ∈ X , g ∈ G

9 / 16

Page 29: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case

Canonize the matrix

Γ =

0 1 0 01 1 1 00 1 1 1

∈ F3×4

2

10 / 16

Page 30: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case

Canonize the matrix

Γ =

0 1 0 01 1 1 00 1 1 1

∈ F3×4

2

Refinement step

Find a Sn-homomorphism

f :(GL3(F2)\\F3×4

2

)→ X n

10 / 16

Page 31: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: First Refinement

Γ =

0 1 0 01 1 1 00 1 1 1

Use

f (GL3(F2) · Γ) :=(

dim(CΓ0 ), . . . , dim(CΓ

3 ))

CΓ := the code generated by ΓCi := the puncturing of C at postion i

11 / 16

Page 32: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: First Refinement

Γ =

0 1 0 01 1 1 00 1 1 1

Use

f (GL3(F2) · Γ) := (3, 2, 3, 3)

11 / 16

Page 33: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: First Refinement

Γ =

0 1 0 01 1 1 00 1 1 1

1 0 0 01 1 1 01 0 1 1

Use

f (GL3(F2) · Γ) := (3, 2, 3, 3) (2, 3, 3, 3)

11 / 16

Page 34: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: Refinement

0 1 0 01 1 1 00 1 1 1

1 0 0 01 1 1 01 0 1 1

(0, 1)

12 / 16

Page 35: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: Refinement

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

Application of the inner group action:

Minimize the fixed columns.

12 / 16

Page 36: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: Refinement

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

Application of the inner group action:

Minimize the fixed columns.

Further Application of the inner group ac-tion:

Use just the stabilizer of the fixed columnsfor further minimization.

12 / 16

Page 37: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: Refinement

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

Application of the inner group action:

Minimize the fixed columns.

Further Application of the inner group ac-tion:

Use just the stabilizer of the fixed columnsfor further minimization.

Further Refinements:

Restrict to G ≤ Sn stabilizing the colors.

12 / 16

Page 38: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: Backtracking (Partitioning)

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 1 00 1 0 1

(1, 2)

1 0 0 00 0 1 10 1 1 0

(1, 3)

13 / 16

Page 39: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

An example in the binary case: Backtracking (Partitioning)

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 2)

1 0 0 00 1 1 00 0 1 1

(1, 3)

Application of the innergroup action:

Minimize the fixed columns

Application of the inner group action:

Prune nodes, whose fixed columns are not minimal.

13 / 16

Page 40: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

The whole example

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 2)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

Page 41: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

The whole example

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 2)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

Canonical representative:

A minimal (including images of the invariants) leafnode of the pruned tree.

Page 42: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

The whole example

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 2)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

Automorphisms:

(root → equal leaf node)−1 · (root → leaf node)

Page 43: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Pruning by Automorphism

Traverse the tree in depth-first-search

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 2)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

Page 44: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Pruning by Automorphism

Traverse the tree in depth-first-search

0 1 0 01 1 1 00 1 1 1

1 0 0 00 1 1 00 0 1 1

(0, 1)

1 0 0 00 1 1 00 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(2, 3)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 1 00 0 1 1

(1, 2)

1 0 0 00 1 0 10 0 1 1

(id)

1 0 0 00 1 0 10 0 1 1

(id)

pruned

(1, 3)

pruned

(1, 3)

Application of Automorphisms:

Prune subtrees which carry no new information.

Page 45: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Canonization of APN-Functions

CCZ-Equivalence

CCZ-Equivalence = usual code equivalence

EA-Equivalence

Restrict the inner group GLk(F2) to the subgroup

1 0 0a A 0b B C

Affine Equivalence

Restrict the inner group GLk(F2) to the subgroup

1 0 0a A 0b 0 C

16 / 16

Page 46: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Canonization of APN-Functions

CCZ-Equivalence

CCZ-Equivalence = usual code equivalence

EA-Equivalence

Restrict the inner group GLk(F2) to the subgroup

1 0 0a A 0b B C

Affine Equivalence

Restrict the inner group GLk(F2) to the subgroup

1 0 0a A 0b 0 C

16 / 16

Page 47: Canonization of Linear Codes - uni-bayreuth.de · Canonization of Linear Codes Thomas Feulner University of Bayreuth July 12, 2010 1/16. ... Let C be a linear code. 2Fk n q is agenerator

Basics Main Idea: Partition and Refinement Canonization of linear Codes Example Link to APN-Functions

Canonization of APN-Functions

CCZ-Equivalence

CCZ-Equivalence = usual code equivalence

EA-Equivalence

Restrict the inner group GLk(F2) to the subgroup

1 0 0a A 0b B C

Affine Equivalence

Restrict the inner group GLk(F2) to the subgroup

1 0 0a A 0b 0 C

16 / 16