The circle #
This file defines circle
to be the metric sphere (Metric.sphere
) in ℂ
centred at 0
of
radius 1
. We equip it with the following structure:
- a submonoid of
ℂ
- a group
- a topological group
We furthermore define expMapCircle
to be the natural map fun t ↦ exp (t * I)
from ℝ
to
circle
, and show that this map is a group homomorphism.
Implementation notes #
Because later (in Geometry.Manifold.Instances.Sphere
) one wants to equip the circle with a smooth
manifold structure borrowed from Metric.sphere
, the underlying set is
{z : ℂ | abs (z - 0) = 1}
. This prevents certain algebraic facts from working definitionally --
for example, the circle is not defeq to {z : ℂ | abs z = 1}
, which is the kernel of Complex.abs
considered as a homomorphism from ℂ
to ℝ
, nor is it defeq to {z : ℂ | normSq z = 1}
, which
is the kernel of the homomorphism Complex.normSq
from ℂ
to ℝ
.
Equations
- instCircleTopologicalSpace = instTopologicalSpaceSubtype
Equations
- Circle.instCommGroup = Metric.sphere.commGroup
Equations
- Circle.instMetricSpace = Subtype.metricSpace
The coercion Circle → ℂ
as a monoid homomorphism.
Equations
- Circle.coeHom = { toFun := Subtype.val, map_one' := Circle.coe_one, map_mul' := Circle.coe_mul }
Instances For
Alias of Circle.abs_coe
.
Alias of Circle.normSq_coe
.
Alias of Circle.coe_ne_zero
.
Alias of Circle.coe_inv
.
Alias of Circle.coe_inv_eq_conj
.
Alias of Circle.coe_div
.
The elements of the circle embed into the units.
Equations
Instances For
Equations
- Circle.instUniformSpace = instUniformSpaceSubtype
If z
is a nonzero complex number, then conj z / z
belongs to the unit circle.
Equations
- Circle.ofConjDivSelf z hz = ⟨(starRingEnd ℂ) z / z, ⋯⟩
Instances For
The map fun t => exp (t * I)
from ℝ
to the unit circle in ℂ
.
Equations
- Circle.exp = { toFun := fun (t : ℝ) => ⟨Complex.exp (↑t * Complex.I), ⋯⟩, continuous_toFun := Circle.exp.proof_2 }
Instances For
The map fun t => exp (t * I)
from ℝ
to the unit circle in ℂ
,
considered as a homomorphism of groups.
Equations
- Circle.expHom = { toFun := ⇑Additive.ofMul ∘ ⇑Circle.exp, map_zero' := Circle.exp_zero, map_add' := Circle.exp_add }
Instances For
Equations
- Circle.instSMul = (Submonoid.unitSphere ℂ).smul
Equations
- Circle.instMulAction = (Submonoid.unitSphere ℂ).mulAction
Equations
- Circle.instDistribMulAction = (Submonoid.unitSphere ℂ).distribMulAction
Alias of Circle.exp
.
The map fun t => exp (t * I)
from ℝ
to the unit circle in ℂ
.
Equations
Instances For
Alias of Circle.coe_exp
.
Alias of Circle.exp_zero
.
Alias of Circle.exp_sub
.
Alias of Circle.norm_smul
.