Affine spaces #
This file gives further properties of affine subspaces (over modules) and the affine span of a set of points.
Main definitions #
AffineSubspace.Parallel
, notation∥
, gives the property of two affine subspaces being parallel (one being a translate of the other).
Given a point in an affine subspace, a result of subtracting that point on the right is in the direction if and only if the other point is in the subspace.
Given a point in an affine subspace, a result of subtracting that point on the left is in the direction if and only if the other point is in the subspace.
This is not an instance because it loops with AddTorsor.nonempty
.
Equations
- s.toAddTorsor = AddTorsor.mk ⋯ ⋯
Instances For
Embedding of an affine subspace to the ambient space, as an affine map.
Equations
- s.subtype = { toFun := Subtype.val, linear := s.direction.subtype, map_vadd' := ⋯ }
Instances For
Alias of AffineSubspace.coe_subtype
.
The affine span of a single point, coerced to a set, contains just that point.
A point is in the affine span of a single point if and only if they are equal.
Equations
- AffineSubspace.unique_affineSpan_singleton k V p = { default := ⟨p, ⋯⟩, uniq := ⋯ }
The top affine subspace is linearly equivalent to the affine space.
This is the affine version of Submodule.topEquiv
.
Equations
- AffineSubspace.topEquiv k V P = { toEquiv := Equiv.Set.univ P, linear := (LinearEquiv.ofEq ⊤.direction ⊤ ⋯).trans Submodule.topEquiv, map_vadd' := ⋯ }
Instances For
If one nonempty affine subspace is less than another, the same applies to their directions
The vectorSpan
is the span of the pairwise subtractions with a given point on the left.
The vectorSpan
is the span of the pairwise subtractions with a given point on the right.
The vectorSpan
is the span of the pairwise subtractions with a given point on the left,
excluding the subtraction of that point from itself.
The vectorSpan
is the span of the pairwise subtractions with a given point on the right,
excluding the subtraction of that point from itself.
The vectorSpan
is the span of the pairwise subtractions with a given point on the right,
excluding the subtraction of that point from itself.
The vectorSpan
of the image of a function is the span of the pairwise subtractions with a
given point on the left, excluding the subtraction of that point from itself.
The vectorSpan
of the image of a function is the span of the pairwise subtractions with a
given point on the right, excluding the subtraction of that point from itself.
The vectorSpan
of an indexed family is the span of the pairwise subtractions with a given
point on the left.
The vectorSpan
of an indexed family is the span of the pairwise subtractions with a given
point on the right.
The vectorSpan
of an indexed family is the span of the pairwise subtractions with a given
point on the left, excluding the subtraction of that point from itself.
The vectorSpan
of an indexed family is the span of the pairwise subtractions with a given
point on the right, excluding the subtraction of that point from itself.
A set, considered as a subset of its spanned affine subspace, spans the whole subspace.
Suppose a set of vectors spans V
. Then a point p
, together with those vectors added to p
,
spans P
.
The vectorSpan
of two points is the span of their difference.
The vectorSpan
of two points is the span of their difference (reversed).
A vector lies in the vectorSpan
of two points if and only if it is a multiple of their
difference.
A vector lies in the vectorSpan
of two points if and only if it is a multiple of their
difference (reversed).
A combination of two points expressed with lineMap
lies in their affine span.
A combination of two points expressed with lineMap
(with the two points reversed) lies in
their affine span.
A multiple of the difference of two points added to the first point lies in their affine span.
A multiple of the difference of two points added to the second point lies in their affine span.
A vector added to the first point lies in the affine span of two points if and only if it is a multiple of their difference.
A vector added to the second point lies in the affine span of two points if and only if it is a multiple of their difference.
The direction of the sup of two nonempty affine subspaces is the sup of the two directions and of any one difference between points in the two subspaces.
The direction of the span of the result of adding a point to a nonempty affine subspace is the sup of the direction of that subspace and of any one difference between that point and a point in the subspace.
Given a point p₁
in an affine subspace s
, and a point p₂
, a point p
is in the span of
s
with p₂
added if and only if it is a multiple of p₂ -ᵥ p₁
added to a point in s
.
The image of an affine subspace under an affine map as an affine subspace.
Equations
- AffineSubspace.map f s = { carrier := ⇑f '' ↑s, smul_vsub_vadd_mem := ⋯ }
Instances For
Affine map from a smaller to a larger subspace of the same space.
This is the affine version of Submodule.inclusion
.
Equations
- AffineSubspace.inclusion h = { toFun := Set.inclusion h, linear := Submodule.inclusion ⋯, map_vadd' := ⋯ }
Instances For
Affine equivalence between two equal affine subspace.
This is the affine version of LinearEquiv.ofEq
.
Equations
- AffineEquiv.ofEq S₁ S₂ h = { toEquiv := Equiv.Set.ofEq ⋯, linear := LinearEquiv.ofEq S₁.direction S₂.direction ⋯, map_vadd' := ⋯ }
Instances For
The preimage of an affine subspace under an affine map as an affine subspace.
Equations
- AffineSubspace.comap f s = { carrier := ⇑f ⁻¹' ↑s, smul_vsub_vadd_mem := ⋯ }
Instances For
Two affine subspaces are parallel if one is related to the other by adding the same vector to all points.
Equations
- s₁.Parallel s₂ = ∃ (v : V), s₂ = AffineSubspace.map (↑(AffineEquiv.constVAdd k P v)) s₁
Instances For
Two affine subspaces are parallel if one is related to the other by adding the same vector to all points.
Equations
- Affine.«term_∥_» = Lean.ParserDescr.trailingNode `Affine.«term_∥_» 50 50 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ∥ ") (Lean.ParserDescr.cat `term 51))