Documentation

Mathlib.Analysis.Complex.Circle

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:

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 .

@[deprecated]

The unit circle in , here given the structure of a submonoid of .

Please use Circle when referring to the circle as a type.

Equations
@[deprecated]
theorem mem_circle_iff_abs {z : } :
z circle Complex.abs z = 1
@[deprecated]
theorem mem_circle_iff_normSq {z : } :
z circle Complex.normSq z = 1

The unit circle in .

Equations
Equations
theorem Circle.ext_iff {x : Circle} {y : Circle} :
x = y x = y
theorem Circle.ext {x : Circle} {y : Circle} :
x = yx = y
theorem Circle.coe_inj {x : Circle} {y : Circle} :
x = y x = y
@[simp]
theorem Circle.abs_coe (z : Circle) :
Complex.abs z = 1
@[simp]
theorem Circle.normSq_coe (z : Circle) :
Complex.normSq z = 1
@[simp]
theorem Circle.coe_ne_zero (z : Circle) :
z 0
@[simp]
theorem Circle.coe_one :
1 = 1
theorem Circle.coe_eq_one {x : Circle} :
x = 1 x = 1
@[simp]
theorem Circle.coe_mul (z : Circle) (w : Circle) :
(z * w) = z * w
@[simp]
theorem Circle.coe_inv (z : Circle) :
z⁻¹ = (↑z)⁻¹
@[simp]
theorem Circle.coe_div (z : Circle) (w : Circle) :
(z / w) = z / w
@[simp]
theorem Circle.coeHom_apply (self : (Submonoid.unitSphere )) :
Circle.coeHom self = self

The coercion Circle → ℂ as a monoid homomorphism.

Equations
@[deprecated Circle.abs_coe]
theorem abs_coe_circle (z : Circle) :
Complex.abs z = 1

Alias of Circle.abs_coe.

@[deprecated Circle.normSq_coe]
theorem normSq_eq_of_mem_circle (z : Circle) :
Complex.normSq z = 1

Alias of Circle.normSq_coe.

@[deprecated Circle.coe_ne_zero]
theorem ne_zero_of_mem_circle (z : Circle) :
z 0

Alias of Circle.coe_ne_zero.

@[deprecated Circle.coe_inv]
theorem coe_inv_circle (z : Circle) :
z⁻¹ = (↑z)⁻¹

Alias of Circle.coe_inv.

@[deprecated Circle.coe_inv_eq_conj]

Alias of Circle.coe_inv_eq_conj.

@[deprecated Circle.coe_div]
theorem coe_div_circle (z : Circle) (w : Circle) :
(z / w) = z / w

Alias of Circle.coe_div.

The elements of the circle embed into the units.

Equations
@[simp]
theorem Circle.toUnits_apply (z : Circle) :
Circle.toUnits z = Units.mk0 z
@[simp]
theorem Circle.ofConjDivSelf_coe (z : ) (hz : z 0) :
def Circle.ofConjDivSelf (z : ) (hz : z 0) :

If z is a nonzero complex number, then conj z / z belongs to the unit circle.

Equations

The map fun t => exp (t * I) from to the unit circle in .

Equations
@[simp]
theorem Circle.coe_exp (t : ) :
(Circle.exp t) = Complex.exp (t * Complex.I)
@[simp]
theorem Circle.exp_zero :
Circle.exp 0 = 1
@[simp]
theorem Circle.exp_add (x : ) (y : ) :
Circle.exp (x + y) = Circle.exp x * Circle.exp y
@[simp]
theorem Circle.expHom_apply :
∀ (a : ), Circle.expHom a = (Additive.ofMul Circle.exp) a

The map fun t => exp (t * I) from to the unit circle in , considered as a homomorphism of groups.

Equations
@[simp]
theorem Circle.exp_sub (x : ) (y : ) :
Circle.exp (x - y) = Circle.exp x / Circle.exp y
@[simp]
theorem Circle.exp_neg (x : ) :
Circle.exp (-x) = (Circle.exp x)⁻¹
instance Circle.instSMul {α : Type u_1} [SMul α] :
Equations
instance Circle.instSMulCommClass_left {α : Type u_1} {β : Type u_2} [SMul β] [SMul α β] [SMulCommClass α β] :
Equations
  • =
instance Circle.instSMulCommClass_right {α : Type u_1} {β : Type u_2} [SMul β] [SMul α β] [SMulCommClass α β] :
Equations
  • =
instance Circle.instIsScalarTower {α : Type u_1} {β : Type u_2} [SMul α] [SMul β] [SMul α β] [IsScalarTower α β] :
Equations
  • =
instance Circle.instMulAction {α : Type u_1} [MulAction α] :
Equations
Equations
theorem Circle.smul_def {α : Type u_1} [SMul α] (z : Circle) (a : α) :
z a = z a
@[simp]
theorem Circle.norm_smul {E : Type u_4} [SeminormedAddCommGroup E] [NormedSpace E] (u : Circle) (v : E) :
@[deprecated Circle.exp]

Alias of Circle.exp.


The map fun t => exp (t * I) from to the unit circle in .

Equations
@[deprecated Circle.coe_exp]
theorem expMapCircle_apply (t : ) :
(Circle.exp t) = Complex.exp (t * Complex.I)

Alias of Circle.coe_exp.

@[deprecated Circle.exp_zero]
theorem expMapCircle_zero :
Circle.exp 0 = 1

Alias of Circle.exp_zero.

@[deprecated Circle.exp_sub]
theorem expMapCircle_sub (x : ) (y : ) :
Circle.exp (x - y) = Circle.exp x / Circle.exp y

Alias of Circle.exp_sub.

@[deprecated Circle.norm_smul]
theorem norm_circle_smul {E : Type u_4} [SeminormedAddCommGroup E] [NormedSpace E] (u : Circle) (v : E) :

Alias of Circle.norm_smul.