feat(Geometry/Convex/ConvexSpace): show that an AffineMap IsAffineMap#39437
feat(Geometry/Convex/ConvexSpace): show that an AffineMap IsAffineMap#39437ooovi wants to merge 9 commits into
AffineMap IsAffineMap#39437Conversation
PR summary 46c86287c1Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
|
This pull request has conflicts, please merge |
|
I hope did the correct thing with the |
Co-authored-by: Paul Lezeau <paul.lezeau@gmail.com>
|
|
||
| attribute [local instance] AddTorsor.toConvexSpace | ||
|
|
||
| lemma of_apply_affineCombination |
There was a problem hiding this comment.
| lemma of_apply_affineCombination | |
| lemma of_map_affineCombination |
is the naming convention when the applied function is a free variable (or the coercion to function of a free variable)
| /-- A map between convex spaces is affine if it preserves convex combinations. | ||
|
|
||
| TODO: Show that this generalises affine maps between affine spaces, see `AffineMap`. -/ | ||
| /-- A map between convex spaces is affine if it preserves convex combinations. -/ |
There was a problem hiding this comment.
| /-- A map between convex spaces is affine if it preserves convex combinations. -/ | |
| /-- A map between convex spaces is affine if it preserves convex combinations. | |
| Note that this generalises the notion of affine maps between affine spaces. | |
| See `AffineMap.isAffineMap` for one direction. | |
| TODO: Prove the other direction. -/ |
| (H : ∀ {ι : Type u_6} (s : Finset ι) (p : ι → P) (w : ι → k), | ||
| ∑ i ∈ s, w i = 1 → | ||
| f ((affineCombination k s p) w) = (affineCombination k s (f ∘ p)) w) : | ||
| IsAffineMap k f where |
There was a problem hiding this comment.
| IsAffineMap k f where | |
| IsAffineMap k f where |
| {k : Type u_1} {V P V₂ P₂ : Type*} [PartialOrder k] [Ring k] [IsStrictOrderedRing k] | ||
| [AddCommGroup V] [Module k V] [S : AffineSpace V P] | ||
| [AddCommGroup V₂] [Module k V₂] [AffineSpace V₂ P₂] (f : P → P₂) | ||
| (H : ∀ {ι : Type u_6} (s : Finset ι) (p : ι → P) (w : ι → k), |
There was a problem hiding this comment.
One small note: I wasn't very satisfied with the universe for ι in this line, which is why my first suggestion was
lemma AffineMap.isAffineMap {V2 P2 : Type*} [AddCommGroup V2] [Module R V2] [AffineSpace V2 P2]
(f : P →ᵃ[R] P2) : IsAffineMap R f where
map_sConvexComb s := by
rw [sConvexComb_eq_affineCombination, map_affineCombination s.weights.support _root_.id
s.weights s.total, ←iConvexComb_eq_affineCombination, Function.comp_id, iConvexComb]Perhaps here the correct thing to do would be to just use Type?
Show that
Convexity.IsAffineMapgeneralisesAffineMaps between affine spaces.