Documentation

Mathlib.Analysis.SpecialFunctions.Complex.Circle

Maps on the unit circle #

In this file we prove some basic lemmas about Circle.exp and the restriction of Complex.arg to the unit circle. These two maps define a partial equivalence between Circle and ℝ, see Circle.argPartialEquiv and Circle.argEquiv, that sends the whole circle to (-π, π].

@[simp]
theorem Circle.arg_eq_arg {z w : Circle} :
(↑z).arg = (↑w).arg ↔ z = w
theorem Circle.arg_exp {x : ℝ} (h₁ : -Real.pi < x) (h₂ : x ≤ Real.pi) :
(↑(exp x)).arg = x
@[simp]
theorem Circle.exp_arg (z : Circle) :
exp (↑z).arg = z

Complex.arg ∘ (↑) and Circle.exp define a partial equivalence between Circle and ℝ with source = Set.univ and target = Set.Ioc (-π) π.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    noncomputable def Circle.argEquiv :

    Complex.arg and Circle.exp ∘ (↑) define an equivalence between Circle and (-π, π].

    Equations
    Instances For
      @[simp]
      theorem Circle.argEquiv_apply_coe (z : Circle) :
      ↑(argEquiv z) = (↑z).arg
      theorem Circle.exp_eq_exp {x y : ℝ} :
      exp x = exp y ↔ ∃ (m : ℤ), x = y + ↑m * (2 * Real.pi)
      @[simp]
      theorem Circle.exp_int_mul_two_pi (n : ℤ) :
      exp (↑n * (2 * Real.pi)) = 1
      theorem Circle.exp_two_pi_mul_int (n : ℤ) :
      exp (2 * Real.pi * ↑n) = 1
      theorem Circle.exp_eq_one {r : ℝ} :
      exp r = 1 ↔ ∃ (n : ℤ), r = ↑n * (2 * Real.pi)
      theorem Circle.exp_inj {r s : ℝ} :
      theorem Circle.exp_injOn_of_forall_sub_mem_Ioo {s : Set ℝ} (hs : ∀ x ∈ s, ∀ y ∈ s, x - y ∈ Set.Ioo (-2 * Real.pi) (2 * Real.pi)) :
      Set.InjOn (⇑exp) s
      theorem Circle.exp_injOn_Icc {a b : ℝ} (h : b - a < 2 * Real.pi) :
      Set.InjOn (⇑exp) (Set.Icc a b)
      theorem Circle.exp_injOn_Ico {a b : ℝ} (h : b - a ≤ 2 * Real.pi) :
      Set.InjOn (⇑exp) (Set.Ico a b)
      theorem Circle.exp_injOn_Ioc {a b : ℝ} (h : b - a ≤ 2 * Real.pi) :
      Set.InjOn (⇑exp) (Set.Ioc a b)
      noncomputable def Circle.angleDiff (x y : Circle) :

      Length of the anti-clockwise arc from x to y.

      Equations
      Instances For
        @[simp]
        theorem Circle.angleDiff_pos {x y : Circle} (h : x ≠ y) :
        0 < x.angleDiff y
        @[simp]
        theorem Circle.angleDiff_add_angleDiff {x y : Circle} (h : x ≠ y) :
        @[simp]
        theorem Circle.exp_angleDiff_mul {x y : Circle} :
        exp (x.angleDiff y) * x = y
        theorem Circle.Icc_union_Icc_angleDiff_add_arg {x y : Circle} (h : x ≠ y) :
        Set.Icc (↑x).arg (x.angleDiff y + (↑x).arg) ∪ Set.Icc (↑y).arg (y.angleDiff x + (↑y).arg) = Set.Icc (min (↑x).arg (↑y).arg) (min (↑x).arg (↑y).arg + 2 * Real.pi)
        theorem Circle.Ico_union_Ico_angleDiff_add_arg {x y : Circle} (h : x ≠ y) :
        Set.Ico (↑x).arg (x.angleDiff y + (↑x).arg) ∪ Set.Ico (↑y).arg (y.angleDiff x + (↑y).arg) = Set.Ico (min (↑x).arg (↑y).arg) (min (↑x).arg (↑y).arg + 2 * Real.pi)
        theorem Circle.Ioc_union_Ioc_angleDiff_add_arg {x y : Circle} (h : x ≠ y) :
        Set.Ioc (↑x).arg (x.angleDiff y + (↑x).arg) ∪ Set.Ioc (↑y).arg (y.angleDiff x + (↑y).arg) = Set.Ioc (min (↑x).arg (↑y).arg) (min (↑x).arg (↑y).arg + 2 * Real.pi)
        noncomputable def Circle.path (x y : Circle) :
        Path x y

        Path from x to y on the circle traversing in anti-clockwise direction.

        Equations
        Instances For
          @[simp]
          theorem Circle.path_apply (x y : Circle) (a : ↑unitInterval) :
          (x.path y) a = exp ((Path.segment (↑x).arg (x.angleDiff y + (↑x).arg)) a)
          @[simp]
          theorem Circle.coe_path (x y : Circle) :
          ⇑(x.path y) = ⇑exp ∘ ⇑(Path.segment (↑x).arg (x.angleDiff y + (↑x).arg))
          @[simp]
          theorem Circle.path_self (x : Circle) :
          theorem Circle.range_path (x y : Circle) :
          Set.range ⇑(x.path y) = ⇑exp '' Set.Icc (↑x).arg (x.angleDiff y + (↑x).arg)
          theorem Circle.path_image_Ico_of_ne {x y : Circle} (h : x ≠ y) :
          ⇑(x.path y) '' Set.Ico 0 1 = ⇑exp '' Set.Ico (↑x).arg (x.angleDiff y + (↑x).arg)
          theorem Circle.path_image_Ioc_of_ne {x y : Circle} (h : x ≠ y) :
          ⇑(x.path y) '' Set.Ioc 0 1 = ⇑exp '' Set.Ioc (↑x).arg (x.angleDiff y + (↑x).arg)
          theorem Circle.path_image_Ioc_union {x y : Circle} (h : x ≠ y) :
          ⇑(x.path y) '' Set.Ioc 0 1 ∪ ⇑(y.path x) '' Set.Ioc 0 1 = Set.univ
          theorem Circle.disjoint_path_image_Ioc {x y : Circle} (h : x ≠ y) :
          Disjoint (⇑(x.path y) '' Set.Ioc 0 1) (⇑(y.path x) '' Set.Ioc 0 1)
          theorem Circle.compl_path_image_Ioc {x y : Circle} (h : x ≠ y) :
          (⇑(x.path y) '' Set.Ioc 0 1)ᶜ = ⇑(y.path x) '' Set.Ioc 0 1
          theorem Circle.compl_range_path {x y : Circle} (h : x ≠ y) :
          (Set.range ⇑(x.path y))ᶜ = ⇑(y.path x) '' Set.Ioo 0 1
          theorem Circle.range_path_inter_range_path {x y : Circle} (h : x ≠ y) :
          Set.range ⇑(x.path y) ∩ Set.range ⇑(y.path x) = {x, y}
          noncomputable def Real.Angle.toCircle (θ : Angle) :

          Circle.exp, applied to a Real.Angle.

          Equations
          Instances For
            @[simp]
            theorem Real.Angle.coe_toCircle (θ : Angle) :
            ↑θ.toCircle = ↑θ.cos + ↑θ.sin * Complex.I
            @[simp]
            theorem Real.Angle.toCircle_add (θ₁ θ₂ : Angle) :
            (θ₁ + θ₂).toCircle = θ₁.toCircle * θ₂.toCircle
            @[simp]
            theorem Real.Angle.arg_toCircle (θ : Angle) :
            ↑(↑θ.toCircle).arg = θ

            Map from AddCircle to Circle #

            noncomputable def AddCircle.toCircle {T : ℝ} :

            The canonical map fun x => exp (2 π i x / T) from ℝ / ℤ • T to the unit circle in ℂ. If T = 0 we understand this as the constant function 1.

            Equations
            Instances For
              @[simp]
              theorem AddCircle.toCircle_nsmul {T : ℝ} (x : AddCircle T) (n : ℕ) :
              (n • x).toCircle = x.toCircle ^ n
              theorem AddCircle.toCircle_zsmul {T : ℝ} (x : AddCircle T) (n : ℤ) :
              (n • x).toCircle = x.toCircle ^ n

              The homeomorphism between AddCircle (2 * π) and Circle.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For