Skip to content

Transposition of finite grid tensor evaluations

5 fully proved

Transposition

DefinitionTranspose of a grid tensor instance#✓fully proved

Swap the row and column coordinates of a grid tensor instance.

def transpose (R : Instance (ρ × γ) A) : Instance (γ × ρ) A :=
  fun w h => R w.swap fun w' => h w'.swap
Uses 1 · Used by 2

TheoremTransposing a grid tensor instance is an involution#✓fully proved

Transposing a grid tensor instance twice recovers the original instance.

@[simp] theorem transpose_transpose (R : Instance (ρ × γ) A) : R.transpose.transpose = R
Uses 2

Tensor Network

DefinitionTranspose of a rectangle kernel#✓fully proved

Transpose a rectangle kernel, exchanging the y and u directed diagonal ends.

def transposeRectangleKernel
    (G : ((ρ × ρ) × (γ × γ)) → A → A → A → A → ℤ) :
    ((γ × γ) × (ρ × ρ)) → A → A → A → A → ℤ :=
  fun ω x y u v => G (ω.2, ω.1) x u y v
Used by 2

TheoremTransposing a rectangle kernel is an involution#✓fully proved

Transposing a rectangle kernel twice recovers the original kernel.

@[simp] theorem transposeRectangleKernel_transposeRectangleKernel
    (G : ((ρ × ρ) × (γ × γ)) → A → A → A → A → ℤ) :
    transposeRectangleKernel (transposeRectangleKernel G) = G
Uses 1

TheoremTransposition preserves the grid evaluation#✓fully proved

Transposing the grid coordinates, local tensors, and rectangle kernels preserves the finite grid evaluation. Edge and diagonal label choices remain independent.

theorem gridValue_transpose [Fintype ρ] [LinearOrder ρ] [Fintype γ] [LinearOrder γ]
    [DecidableEq A] (labels diagonalLabels : Finset A) (R : Instance (ρ × γ) A)
    (G : ((ρ × ρ) × (γ × γ)) → A → A → A → A → ℤ) :
    gridValue labels diagonalLabels R.transpose (transposeRectangleKernel G) =
      gridValue labels diagonalLabels R G
Uses 10

The dependency explorer needs JavaScript and its graph data.

Download the complete graph data.