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