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 Circle.exp to be the natural map fun t β¦ exp (t * I) from β to
circle, and show that this map is a group homomorphism.
We define two additive characters onto the circle:
Real.fourierChar: The characterfun x β¦ exp ((2 * Ο * x) * I)(for which we introduce the notationπin the scopeFourierTransform). This uses the analyst convention that there is a2 * Οin the exponent.Real.probChar: The characterfun x β¦ exp (x * I), which uses the probabilist convention that there is no2 * Οin the exponent.
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
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
The elements of the circle embed into the units.
Equations
Instances For
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_4 }
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
Equations
The additive character from β onto the circle, given by fun x β¦ exp (2 * Ο * x * I).
Denoted as π within the Real.FourierTransform namespace. This uses the analyst convention that
there is a 2 * Ο in the exponent.
Equations
- Real.fourierChar = { toFun := fun (z : β) => Circle.exp (2 * Real.pi * z), map_zero_eq_one' := Real.fourierChar._proof_2, map_add_eq_mul' := Real.fourierChar._proof_3 }
Instances For
The additive character from β onto the circle, given by fun x β¦ exp (2 * Ο * x * I).
Denoted as π within the Real.FourierTransform namespace. This uses the analyst convention that
there is a 2 * Ο in the exponent.
Equations
- FourierTransform.Β«termπΒ» = Lean.ParserDescr.node `FourierTransform.Β«termπΒ» 1024 (Lean.ParserDescr.symbol "π")
Instances For
The additive character from β onto the circle, given by fun x β¦ exp (x * I). This uses the
probabilist convention that there is no 2 * Ο in the exponent.
Equations
- Real.probChar = { toFun := βCircle.exp, map_zero_eq_one' := Circle.exp_zero, map_add_eq_mul' := Circle.exp_add }