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 .

The unit circle in .

Equations
Instances For
    theorem Circle.ext {x y : Circle} :
    x = yx = y
    theorem Circle.coe_inj {x y : Circle} :
    x = y x = y
    @[simp]
    theorem Circle.abs_coe (z : Circle) :
    Complex.abs z = 1
    @[simp]
    @[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 w : Circle) :
    ↑(z * w) = z * w
    @[simp]
    theorem Circle.coe_inv (z : Circle) :
    z⁻¹ = (↑z)⁻¹
    @[simp]
    theorem Circle.coe_div (z w : Circle) :
    ↑(z / w) = z / w

    The coercion Circle → ℂ as a monoid homomorphism.

    Equations
    Instances For
      @[simp]
      theorem Circle.coeHom_apply (self : (Submonoid.unitSphere )) :
      coeHom self = self

      The elements of the circle embed into the units.

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

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

        Equations
        Instances For
          @[simp]
          theorem Circle.ofConjDivSelf_coe (z : ) (hz : z 0) :
          (ofConjDivSelf z hz) = (starRingEnd ) z / z

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

          Equations
          Instances For
            @[simp]
            theorem Circle.coe_exp (t : ) :
            (exp t) = Complex.exp (t * Complex.I)
            @[simp]
            theorem Circle.exp_zero :
            exp 0 = 1
            @[simp]
            theorem Circle.exp_add (x y : ) :
            exp (x + y) = exp x * exp y

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

            Equations
            Instances For
              @[simp]
              theorem Circle.expHom_apply (a✝ : ) :
              expHom a✝ = (Additive.ofMul exp) a✝
              @[simp]
              theorem Circle.exp_sub (x y : ) :
              exp (x - y) = exp x / exp y
              @[simp]
              theorem Circle.exp_neg (x : ) :
              exp (-x) = (exp x)⁻¹
              instance Circle.instSMulCommClass_left {α : Type u_1} {β : Type u_2} [SMul β] [SMul α β] [SMulCommClass α β] :
              instance Circle.instSMulCommClass_right {α : Type u_1} {β : Type u_2} [SMul β] [SMul α β] [SMulCommClass α β] :
              instance Circle.instIsScalarTower {α : Type u_1} {β : Type u_2} [SMul α] [SMul β] [SMul α β] [IsScalarTower α β] :
              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) :