Module docstring
{"# Affine spaces
This file defines affine subspaces (over modules) and the affine span of a set of points.
Main definitions
AffineSubspace k Pis the type of affine subspaces. Unlike affine spaces, affine subspaces are allowed to be empty, and lemmas that do not apply to empty affine subspaces haveNonemptyhypotheses. There is aCompleteLatticestructure on affine subspaces.AffineSubspace.directiongives theSubmodulespanned by the pairwise differences of points in anAffineSubspace. There are various lemmas relating to the set of vectors in thedirection, and relating the lattice structure on affine subspaces to that on their directions.affineSpangives the affine subspace spanned by a set of points, withvectorSpangiving its direction. TheaffineSpanis defined in terms ofspanPoints, which gives an explicit description of the points contained in the affine span;spanPointsitself should generally only be used when that description is required, withaffineSpanbeing the main definition for other purposes. Two other descriptions of the affine span are proved equivalent: it is thesInfof affine subspaces containing the points, and (if[Nontrivial k]) it contains exactly those points that are affine combinations of points in the given set.
Implementation notes
outParam is used in the definition of AddTorsor V P to make V an implicit argument (deduced
from P) in most cases. As for modules, k is an explicit argument rather than implied by P or
V.
This file only provides purely algebraic definitions and results. Those depending on analysis or
topology are defined elsewhere; see Analysis.Normed.Affine.AddTorsor and
Topology.Algebra.Affine.
References
- https://en.wikipedia.org/wiki/Affine_space
- https://en.wikipedia.org/wiki/Principalhomogeneousspace "}