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.uncurryFin f in n + 1 arguments.
This function is given by
AlternatingMap.uncurryFin 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.uncurryFin = (n + 1) • f.
We do not multiply the result of uncurryFin 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.uncurryFin_curryLeft: the round-trip formula for currying/uncurrying, see above.AlternatingMap.uncurryFin_uncurryFinLM_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 uncurryFin 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
uncurryFin 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.uncurryFin f = { toMultilinearMap := ∑ p : Fin (n + 1), (-1) ^ ↑p • LinearMap.uncurryMid p (AlternatingMap.toMultilinearMapLM ∘ₗ f), map_eq_zero_of_eq' := ⋯ }
Instances For
AlternaringMap.uncurryFin as a linear map.
Equations
- AlternatingMap.uncurryFinLM = { toFun := AlternatingMap.uncurryFin, map_add' := ⋯, map_smul' := ⋯ }
Instances For
If f is a symmetric bilinear map taking values in the space of alternating maps,
then the twice uncurried f is zero.