Documentation

Mathlib.Analysis.RCLike.Sqrt

Square root on RCLike #

This file contains the definitions Complex.sqrt and RCLike.sqrt and builds basic API.

noncomputable def Complex.sqrt (a : ) :

The square root of a complex number.

Equations
    Instances For
      @[simp]
      theorem Complex.sqrt_zero :
      sqrt 0 = 0
      @[simp]
      theorem Complex.sqrt_one :
      sqrt 1 = 1
      theorem Complex.sqrt_eq_real_add_ite {a : } :
      a.sqrt = ((a + a.re) / 2) + (if 0 a.im then 1 else -1) * ((a - a.re) / 2) * I
      noncomputable def RCLike.sqrt {𝕜 : Type u_1} [RCLike 𝕜] (a : 𝕜) :
      𝕜

      The square root on RCLike.

      Equations
        Instances For
          theorem RCLike.sqrt_eq_ite {𝕜 : Type u_1} [RCLike 𝕜] {a : 𝕜} :
          sqrt a = if h : im I = 1 then (complexRingEquiv h).symm ((complexRingEquiv h) a).sqrt else (re a)
          theorem RCLike.sqrt_eq_real_add_ite {𝕜 : Type u_1} [RCLike 𝕜] {a : 𝕜} :
          sqrt a = ((a + re a) / 2) + (if 0 im a then 1 else -1) * ((a - re a) / 2) * I
          @[simp]
          theorem RCLike.sqrt_zero {𝕜 : Type u_1} [RCLike 𝕜] :
          sqrt 0 = 0
          @[simp]
          theorem RCLike.sqrt_one {𝕜 : Type u_1} [RCLike 𝕜] :
          sqrt 1 = 1
          theorem Complex.re_sqrt_ofReal {a : } :
          (↑a).sqrt.re = a
          theorem RCLike.re_sqrt_ofReal {𝕜 : Type u_1} [RCLike 𝕜] {a : } :
          re (sqrt a) = a
          @[simp]
          theorem RCLike.sqrt_real {a : } :
          @[simp]
          theorem RCLike.sqrt_complex {a : } :
          sqrt a = a.sqrt
          theorem Complex.sqrt_of_nonneg {a : } (ha : 0 a) :
          a.sqrt = a.re
          theorem RCLike.sqrt_map {𝕜 : Type u_1} [RCLike 𝕜] {𝕜' : Type u_2} [RCLike 𝕜'] {a : 𝕜} (h : im I = im I) :
          sqrt ((map 𝕜 𝕜') a) = (map 𝕜 𝕜') (sqrt a)
          theorem Complex.sqrt_map {𝕜 : Type u_1} [RCLike 𝕜] {a : 𝕜} (h : RCLike.im RCLike.I = 1) :
          ((RCLike.map 𝕜 ) a).sqrt = (RCLike.map 𝕜 ) (RCLike.sqrt a)
          theorem RCLike.sqrt_of_nonneg {𝕜 : Type u_1} [RCLike 𝕜] {a : 𝕜} (ha : 0 a) :
          sqrt a = (re a)
          theorem Complex.sqrt_neg_of_nonneg {a : } (ha : 0 a) :
          (-a).sqrt = I * a.sqrt
          theorem RCLike.sqrt_neg_of_nonneg {𝕜 : Type u_1} [RCLike 𝕜] {a : 𝕜} (ha : 0 a) :
          sqrt (-a) = I * sqrt a
          theorem RCLike.sqrt_neg_one {𝕜 : Type u_1} [RCLike 𝕜] :
          sqrt (-1) = I
          theorem RCLike.sqrt_I {𝕜 : Type u_1} [RCLike 𝕜] :
          sqrt I = 2⁻¹ * (1 - I) * I
          theorem RCLike.sqrt_neg_I {𝕜 : Type u_1} [RCLike 𝕜] :
          sqrt (-I) = 2⁻¹ * (1 + I) * -I