Exterior product of alternating maps #
In this file we define AlternatingMap.domCoprod
to be the exterior product of two alternating maps,
taking values in the tensor product of the codomains of the original maps.
Elements which are considered equivalent if they differ only by swaps within α or β
Equations
- Equiv.Perm.ModSumCongr α β = (Equiv.Perm (α ⊕ β) ⧸ (Equiv.Perm.sumCongrHom α β).range)
Instances For
summand used in AlternatingMap.domCoprod
Equations
- AlternatingMap.domCoprod.summand a b σ = Quotient.liftOn' σ (fun (σ : Equiv.Perm (ιa ⊕ ιb)) => Equiv.Perm.sign σ • MultilinearMap.domDomCongr σ ((↑a).domCoprod ↑b)) ⋯
Instances For
Swapping elements in σ
with equal values in v
results in an addition that cancels
Swapping elements in σ
with equal values in v
result in zero if the swap has no effect
on the quotient.
Like MultilinearMap.domCoprod
, but ensures the result is also alternating.
Note that this is usually defined (for instance, as used in Proposition 22.24 in [Gallier2011Notes])
over integer indices ιa = Fin n
and ιb = Fin m
, as
$$ (f \wedge g)(u_1, \ldots, u_{m+n}) = \sum_{\operatorname{shuffle}(m, n)} \operatorname{sign}(\sigma) f(u_{\sigma(1)}, \ldots, u_{\sigma(m)}) g(u_{\sigma(m+1)}, \ldots, u_{\sigma(m+n)}), $$
where $\operatorname{shuffle}(m, n)$ consists of all permutations of $[1, m+n]$ such that
$\sigma(1) < \cdots < \sigma(m)$ and $\sigma(m+1) < \cdots < \sigma(m+n)$.
Here, we generalize this by replacing:
- the product in the sum with a tensor product
- the filtering of $[1, m+n]$ to shuffles with an isomorphic quotient
- the additions in the subscripts of $\sigma$ with an index of type
Sum
The specialized version can be obtained by combining this definition with finSumFinEquiv
and
LinearMap.mul'
.
Equations
- a.domCoprod b = { toFun := fun (v : ιa ⊕ ιb → Mᵢ) => (∑ σ : Equiv.Perm.ModSumCongr ιa ιb, AlternatingMap.domCoprod.summand a b σ) v, map_add' := ⋯, map_smul' := ⋯, map_eq_zero_of_eq' := ⋯ }
Instances For
A more bundled version of AlternatingMap.domCoprod
that maps
((ι₁ → N) → N₁) ⊗ ((ι₂ → N) → N₂)
to (ι₁ ⊕ ι₂ → N) → N₁ ⊗ N₂
.
Equations
- AlternatingMap.domCoprod' = TensorProduct.lift (LinearMap.mk₂ R' AlternatingMap.domCoprod ⋯ ⋯ ⋯ ⋯)
Instances For
A helper lemma for MultilinearMap.domCoprod_alternization
.
Computing the MultilinearMap.alternatization
of the MultilinearMap.domCoprod
is the same
as computing the AlternatingMap.domCoprod
of the MultilinearMap.alternatization
s.
Taking the MultilinearMap.alternatization
of the MultilinearMap.domCoprod
of two
AlternatingMap
s gives a scaled version of the AlternatingMap.coprod
of those maps.