Uncurrying alternating maps #
Given a function f which is linear in the first argument
and is alternating form in the other n arguments,
this file defines an alternating form AlternatingMap.alternatizeUncurryFin f in n + 1 arguments.
This function is given by
AlternatingMap.alternatizeUncurryFin f v =
∑ i : Fin (n + 1), (-1) ^ (i : ℕ) • f (v i) (removeNth i v)
Given an alternating map f of n + 1 arguments,
each term in the sum above written for f.curryLeft equals the original map,
thus f.curryLeft.alternatizeUncurryFin = (n + 1) • f.
We do not multiply the result of alternatizeUncurryFin by (n + 1)⁻¹
so that the construction works for R-multilinear maps over any commutative ring R,
not only a field of characteristic zero.
Main results #
AlternatingMap.alternatizeUncurryFin_curryLeft: the round-trip formula for currying/uncurrying, see above.AlternatingMap.alternatizeUncurryFin_alternatizeUncurryFinLM_comp_of_symmetric: Iffis a symmetric bilinear map taking values in the space of alternating maps, then the twice uncurriedfis zero.
A version of the latter theorem for continuous alternating maps will be used to prove that the second exterior derivative of a differential form is zero.
If f is a (n + 1)-multilinear alternating map, x is an element of the domain,
and v is an n-vector, then the value of f at v with x inserted at the pth place
equals (-1) ^ p times the value of f at v with x prepended.
Let v be an (n + 1)-tuple with two equal elements v i = v j, i ≠ j.
Let w i (resp., w j) be the vector v with ith (resp., jth) element removed.
Then (-1) ^ i • f (w i) + (-1) ^ j • f (w j) = 0.
This follows from the fact that these two vectors differ by a permutation of sign (-1) ^ (i + j).
These are the only two nonzero terms in the proof of map_eq_zero_of_eq
in the definition of alternatizeUncurryFin below.
Given a function which is linear in the first argument
and is alternating in the other n arguments,
build an alternating form in n + 1 arguments.
The function is given by
alternatizeUncurryFin f v = ∑ i : Fin (n + 1), (-1) ^ (i : ℕ) • f (v i) (removeNth i v)
Note that the round-trip with curryFin multiplies the form by n + 1,
since we want to avoid division in this definition.
Equations
- AlternatingMap.alternatizeUncurryFin f = { toMultilinearMap := ∑ p : Fin (n + 1), (-1) ^ ↑p • LinearMap.uncurryMid p (AlternatingMap.toMultilinearMapLM ∘ₗ f), map_eq_zero_of_eq' := ⋯ }
Instances For
Alias of AlternatingMap.alternatizeUncurryFin.
Given a function which is linear in the first argument
and is alternating in the other n arguments,
build an alternating form in n + 1 arguments.
The function is given by
alternatizeUncurryFin f v = ∑ i : Fin (n + 1), (-1) ^ (i : ℕ) • f (v i) (removeNth i v)
Note that the round-trip with curryFin multiplies the form by n + 1,
since we want to avoid division in this definition.
Instances For
Alias of AlternatingMap.alternatizeUncurryFin_add.
AlternatingMap.alternatizeUncurryFin as a linear map.
Equations
- AlternatingMap.alternatizeUncurryFinLM = { toFun := AlternatingMap.alternatizeUncurryFin, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Alias of AlternatingMap.alternatizeUncurryFinLM.
AlternatingMap.alternatizeUncurryFin as a linear map.
Instances For
If f is a bilinear map taking values in the space of alternating maps,
then evaluation of the twice uncurried f on a tuple of vectors v
can be represented as a sum of
$$ f(v_i, v_j; v_0, \dots, \hat{v_i}, \dots, \hat{v_j}-) - f(v_j, v_i; v_0, \dots, \hat{v_i}, \dots, \hat{v_j}-) $$
over all (i j : Fin (n + 2)), i < j, taken with appropriate signs.
Here $$\hat{v_i}$$ and $$\hat{v_j}$$ mean that these vectors are removed from the tuple.
We use pairs of i j : Fin (n + 1), i ≤ j,
to encode pairs (i.castSucc : Fin (n + 1), j.succ : Fin (n + 1)),
so the power of -1 is off by one compared to the informal texts.
In particular, if f is symmetric in the first two arguments,
then the resulting alternating map is zero,
see alternatizeUncurryFin_alternatizeUncurryFinLM_comp_of_symmetric below.
If f is a symmetric bilinear map taking values in the space of alternating maps,
then the twice uncurried f is zero.
See also alternatizeUncurryFin_alternatizeUncurryFinLM_comp_apply
for a formula that does not assume f to be symmetric.
Alias of AlternatingMap.alternatizeUncurryFin_alternatizeUncurryFinLM_comp_of_symmetric.
If f is a symmetric bilinear map taking values in the space of alternating maps,
then the twice uncurried f is zero.
See also alternatizeUncurryFin_alternatizeUncurryFinLM_comp_apply
for a formula that does not assume f to be symmetric.