Affine independence #
This file defines affinely independent families of points.
Main definitions #
affine_independent
defines affinely independent families of points as those where no nontrivial weighted subtraction is0
. This is proved equivalent to two other formulations: linear independence of the results of subtracting a base point in the family from the other points in the family, or any equal affine combinations having the same weights. A bundled typesimplex
is provided for finite affinely independent families of points, with an abbreviationtriangle
for the case of three points.
References #
An indexed family is said to be affinely independent if no nontrivial weighted subtractions (where the sum of weights is 0) are 0.
Equations
- affine_independent k p = ∀ (s : finset ι) (w : ι → k), s.sum (λ (i : ι), w i) = 0 → ⇑(s.weighted_vsub p) w = 0 → ∀ (i : ι), i ∈ s → w i = 0
The definition of affine_independent
.
A family with at most one point is affinely independent.
A family indexed by a fintype
is affinely independent if and
only if no nontrivial weighted subtractions over finset.univ
(where
the sum of the weights is 0) are 0.
A family is affinely independent if and only if the differences from a base point in that family are linearly independent.
A set is affinely independent if and only if the differences from a base point in that set are linearly independent.
A set of nonzero vectors is linearly independent if and only if,
given a point p₁
, the vectors added to p₁
and p₁
itself are
affinely independent.
A family is affinely independent if and only if any affine
combinations (with sum of weights 1) that evaluate to the same point
have equal set.indicator
.
A finite family is affinely independent if and only if any affine combinations (with sum of weights 1) that evaluate to the same point are equal.
If we single out one member of an affine-independent family of points and affinely transport all others along the line joining them to this member, the resulting new family of points is affine- independent.
This is the affine version of linear_independent.units_smul
.
An affinely independent family is injective, if the underlying ring is nontrivial.
If a family is affinely independent, so is any subfamily given by composition of an embedding into index type with the original family.
If a family is affinely independent, so is any subfamily indexed by a subtype of the index type.
If an indexed family of points is affinely independent, so is the corresponding set of points.
If a set of points is affinely independent, so is any subset.
If the range of an injective indexed family of points is affinely independent, so is that family.
If the image of a family of points in affine space under an affine transformation is affine- independent, then the original family of points is also affine-independent.
The image of a family of points in affine space, under an injective affine transformation, is affine-independent.
Injective affine maps preserve affine independence.
Affine equivalences preserve affine independence of families of points.
Affine equivalences preserve affine independence of subsets.
If a family is affinely independent, and the spans of points indexed by two subsets of the index type have a point in common, those subsets of the index type have an element in common, if the underlying ring is nontrivial.
If a family is affinely independent, the spans of points indexed by disjoint subsets of the index type are disjoint, if the underlying ring is nontrivial.
If a family is affinely independent, a point in the family is in the span of some of the points given by a subset of the index type if and only if that point's index is in the subset, if the underlying ring is nontrivial.
If a family is affinely independent, a point in the family is not in the affine span of the other points, if the underlying ring is nontrivial.
Viewing a module as an affine space modelled on itself, we can characterise affine independence in terms of linear combinations.
An affinely independent set of points can be extended to such a set that spans the whole space.
Two different points are affinely independent.
- points : fin (n + 1) → P
- independent : affine_independent k self.points
A simplex k P n
is a collection of n + 1
affinely
independent points.
Instances for affine.simplex
- affine.simplex.has_sizeof_inst
- affine.simplex.inhabited
- affine.simplex.nonempty
A triangle k P
is a collection of three affinely independent points.
Construct a 0-simplex from a point.
Equations
- affine.simplex.mk_of_point k p = {points := λ (_x : fin (0 + 1)), p, independent := _}
The point in a simplex constructed with mk_of_point
.
Equations
Two simplices are equal if they have the same points.
Two simplices are equal if and only if they have the same points.
A face of a simplex is a simplex with the given subset of points.
Equations
- s.face h = {points := s.points ∘ ⇑(fs.order_emb_of_fin h), independent := _}
The points of a face of a simplex are given by mono_of_fin
.
The points of a face of a simplex are given by mono_of_fin
.
A single-point face equals the 0-simplex constructed with
mk_of_point
.
The set of points of a face.
The centroid of a face of a simplex as the centroid of a subset of the points.
Over a characteristic-zero division ring, the centroids given by two subsets of the points of a simplex are equal if and only if those faces are given by the same subset of points.
Over a characteristic-zero division ring, the centroids of two faces of a simplex are equal if and only if those faces are given by the same subset of points.
Two simplices with the same points have the same centroid.