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 localeFourierTransform
). 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
Alias of Circle.norm_coe
.
The coercion Circle β β
as a monoid homomorphism.
Equations
- Circle.coeHom = { toFun := Subtype.val, map_one' := Circle.coe_one, map_mul' := Circle.coe_mul }
The elements of the circle embed into the units.
Equations
If z
is a nonzero complex number, then conj z / z
belongs to the unit circle.
Equations
- Circle.ofConjDivSelf z hz = β¨(starRingEnd β) z / z, β―β©
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_12 }
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 }
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_14, map_add_eq_mul' := Real.fourierChar._proof_15 }
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 "π")
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 }