Border substitution for tight tensors: proof internals #
Proofs behind Complexitylib.Algebraic.LinearAlgebra.Tensor.Substitution.
- Only the kernel matters. Over a field,
ker P ⊆ ker P'givesP' = G * P(factorP'throughℂ^α ⧸ ker P ≅ range Pand extend fromrange P), soX ↦ map X Y Z TatP'is the image underG ⊗ 1 ⊗ 1of its value atP. - One step. Approximate
TbyT_n = ∑_{s < r + 1} u_{n,s} ⊗ v_{n,s} ⊗ w_{n,s}. A unit vectorû_non the line ofu_{n,0}(any unit vector ifu_{n,0} = 0) makesorthProj û_nkill the first summand, so(orthProj û_n ⊗ 1 ⊗ 1) T_nhas rank at mostr. A subsequence ofû_nconverges on the compact unit sphere of the sup norm, to someu ≠ 0, and(X, S) ↦ (X ⊗ 1 ⊗ 1) SandorthProj(atu ≠ 0) are continuous. - Torus limit. With weights
σ i = τA i - τA i₀for thei₀minimizingτAon the support ofu(andτCshifted to compensate),λ(t) = diag(t ^ σ i)fixesTtogether with the matching diagonal maps onBandC. Conjugating gives a border-rank bound for the projection with kernelℂ λ(t) u. Alongt = 2⁻ⁿ,λ(t) u → u i₀ • e_{i₀}, sinceσ i > 0for every otheriin the support (τAis injective), and the set ofvwhose projection satisfies the bound is closed atv ≠ 0. The projection alonge_{i₀}has the same kernel as the diagonal0/1matrix that zeroes slicei₀. - Deletion. For
Trestricted toS, the zeroed slicei₀is inS, or else the bound already holds for the restriction toSand any further deletion keeps it. Iterating gives the deletion order; once the bound reaches0, the restricted tensor is zero, which forces at mostrnonzero slices.
theorem
Algebraic.Tensor3.Internal.orthProj_mulVec_self
{α : Type u_1}
[Fintype α]
[DecidableEq α]
(u : α → ℂ)
:
theorem
Algebraic.Tensor3.Internal.continuousAt_orthProj
{α : Type u_1}
[Fintype α]
[DecidableEq α]
{u : α → ℂ}
(hu : u ≠ 0)
:
theorem
Algebraic.Tensor3.Internal.exists_mem_sphere_orthProj_mulVec_eq_zero
{α : Type u_1}
[Fintype α]
[DecidableEq α]
[Nonempty α]
(x : α → ℂ)
:
∃ u ∈ Metric.sphere 0 1, (orthProj u).mulVec x = 0
Some unit vector u (for the sup norm) has orthProj u vanishing at x.
theorem
Algebraic.Tensor3.Internal.borderRankLE_map_of_ker
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
{α' : Type u_4}
{β' : Type u_5}
{γ' : Type u_6}
{α'' : Type u_7}
[Fintype α]
[Fintype β]
[Fintype γ]
[Fintype α']
[Fintype β']
[Fintype γ']
{P : Matrix α' α ℂ}
{P' : Matrix α'' α ℂ}
(Y : Matrix β' β ℂ)
(Z : Matrix γ' γ ℂ)
{T : Tensor3 α β γ}
{ρ : ℕ}
(h : (map P Y Z T).BorderRankLE ρ)
(hker : ∀ (v : α → ℂ), P.mulVec v = 0 → P'.mulVec v = 0)
:
(map P' Y Z T).BorderRankLE ρ
theorem
Algebraic.Tensor3.Internal.continuous_map_left
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
{α' : Type u_4}
[Fintype α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
:
theorem
Algebraic.Tensor3.Internal.continuous_map_left_const
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
{α' : Type u_4}
[Fintype α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
(T : Tensor3 α β γ)
:
Continuous fun (X : Matrix α' α ℂ) => map X 1 1 T
theorem
Algebraic.Tensor3.Internal.restrictSlices_restrictSlices
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
(T : Tensor3 α β γ)
(S S' : Finset α)
:
theorem
Algebraic.Tensor3.Internal.restrictSlices_univ
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
[Fintype α]
(T : Tensor3 α β γ)
:
theorem
Algebraic.Tensor3.Internal.restrictSlices_empty
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
(T : Tensor3 α β γ)
:
theorem
Algebraic.Tensor3.Internal.zero_restrictSlices
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
(S : Finset α)
:
theorem
Algebraic.Tensor3.Internal.restrictSlices_eq_map
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
[Fintype α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
(T : Tensor3 α β γ)
(S : Finset α)
:
theorem
Algebraic.Tensor3.Internal.tight_restrictSlices
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
{T : Tensor3 α β γ}
(hT : T.Tight)
(S : Finset α)
:
(T.restrictSlices S).Tight
theorem
Algebraic.Tensor3.Internal.borderRankLE_restrictSlices_of_subset
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
[Fintype α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
{S S' : Finset α}
{ρ : ℕ}
(h : (T.restrictSlices S).BorderRankLE ρ)
(hS : S' ⊆ S)
:
(T.restrictSlices S').BorderRankLE ρ
theorem
Algebraic.Tensor3.Internal.borderRankLE_restrictSlices
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[DecidableEq α]
[Fintype α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
{ρ : ℕ}
(h : T.BorderRankLE ρ)
(S : Finset α)
:
(T.restrictSlices S).BorderRankLE ρ
theorem
Algebraic.Tensor3.Internal.borderRankLE_zero_tensor
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
(r : ℕ)
:
BorderRankLE 0 r
theorem
Algebraic.Tensor3.Internal.exists_mem_sphere_rankLE_map_orthProj
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
[Nonempty α]
{S : Tensor3 α β γ}
{r : ℕ}
(h : S.RankLE (r + 1))
:
∃ u ∈ Metric.sphere 0 1, (map (orthProj u) 1 1 S).RankLE r
A tensor of rank at most r + 1 has rank at most r after projecting the first factor
along a suitable unit vector.
theorem
Algebraic.Tensor3.Internal.exists_borderRankLE_map_orthProj
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
[Nonempty α]
{T : Tensor3 α β γ}
{r : ℕ}
(h : T.BorderRankLE (r + 1))
:
noncomputable def
Algebraic.Tensor3.Internal.torus
{ι : Type u_8}
[DecidableEq ι]
(τ : ι → ℤ)
(t : ℂ)
:
The diagonal matrix diag(t ^ τ i): the one-parameter subgroup with weights τ.
Equations
- Algebraic.Tensor3.Internal.torus τ t = Matrix.diagonal fun (i : ι) => t ^ τ i
Instances For
theorem
Algebraic.Tensor3.Internal.map_torus
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
{τA : α → ℤ}
{τB : β → ℤ}
{τC : γ → ℤ}
(hT : ∀ (i : α) (j : β) (k : γ), T i j k ≠ 0 → τA i + τB j + τC k = 0)
{t : ℂ}
(ht : t ≠ 0)
:
theorem
Algebraic.Tensor3.Internal.borderRankLE_map_orthProj_torus
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
{τA : α → ℤ}
{τB : β → ℤ}
{τC : γ → ℤ}
(hT : ∀ (i : α) (j : β) (k : γ), T i j k ≠ 0 → τA i + τB j + τC k = 0)
{t : ℂ}
(ht : t ≠ 0)
{u : α → ℂ}
{ρ : ℕ}
(h : (map (orthProj u) 1 1 T).BorderRankLE ρ)
:
(map (orthProj ((torus τA t).mulVec u)) 1 1 T).BorderRankLE ρ
The torus fixing T moves the projection direction u to torus τA t *ᵥ u without
changing the border-rank bound.
theorem
Algebraic.Tensor3.Internal.exists_borderRankLE_restrictSlices_erase_of_tight
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
(hT : T.Tight)
{u : α → ℂ}
(hu : u ≠ 0)
{ρ : ℕ}
(h : (map (orthProj u) 1 1 T).BorderRankLE ρ)
:
∃ (i : α), u i ≠ 0 ∧ (T.restrictSlices (Finset.univ.erase i)).BorderRankLE ρ
theorem
Algebraic.Tensor3.Internal.exists_mem_borderRankLE_restrictSlices_erase
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
(hT : T.Tight)
{S : Finset α}
(hS : S.Nonempty)
{r : ℕ}
(h : (T.restrictSlices S).BorderRankLE (r + 1))
:
∃ i ∈ S, (T.restrictSlices (S.erase i)).BorderRankLE r
theorem
Algebraic.Tensor3.Internal.exists_list_borderRankLE_restrictSlices_sdiff
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
(hT : T.Tight)
(S₀ : Finset α)
{r : ℕ}
(h : (T.restrictSlices S₀).BorderRankLE r)
:
theorem
Algebraic.Tensor3.Internal.card_le_of_borderRankLE_restrictSlices
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
(hT : T.Tight)
{S : Finset α}
(hS : ∀ i ∈ S, T i ≠ 0)
{r : ℕ}
(h : (T.restrictSlices S).BorderRankLE r)
:
theorem
Algebraic.Tensor3.Internal.exists_list_add_borderRank_le
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
(hT : T.Tight)
{S₀ : Finset α}
(hS : ∀ i ∈ S₀, T i ≠ 0)
:
∃ (l : List α),
l.Nodup ∧ l.toFinset = S₀ ∧ ∀ q ≤ S₀.card,
q + (T.restrictSlices (S₀ \ (List.take q l).toFinset)).borderRank ≤ (T.restrictSlices S₀).borderRank
theorem
Algebraic.Tensor3.Internal.not_borderRankLE_restrictSlices_of_forall_list
{α : Type u_1}
{β : Type u_2}
{γ : Type u_3}
[Fintype α]
[DecidableEq α]
[Fintype β]
[Fintype γ]
[DecidableEq β]
[DecidableEq γ]
{T : Tensor3 α β γ}
(hT : T.Tight)
{S₀ : Finset α}
(hS : ∀ i ∈ S₀, T i ≠ 0)
{r : ℕ}
(LB : Finset α → ℕ)
(hLB : ∀ S ⊆ S₀, ∀ (ρ : ℕ), (T.restrictSlices S).BorderRankLE ρ → LB S ≤ ρ)
(h : ∀ (l : List α), l.Nodup → l.toFinset = S₀ → ∃ q ≤ S₀.card, r < q + LB (S₀ \ (List.take q l).toFinset))
:
¬(T.restrictSlices S₀).BorderRankLE r