Documentation

Mathlib.Analysis.SpecialFunctions.Complex.Arg

The argument of a complex number. #

We define arg : ℂ → ℝ, returning a real number in the range (-π, π], such that for x ≠ 0, sin (arg x) = x.im / x.abs and cos (arg x) = x.re / x.abs, while arg 0 defaults to 0

noncomputable def Complex.arg (x : ) :

arg returns values in the range (-π, π], such that for x ≠ 0, sin (arg x) = x.im / x.abs and cos (arg x) = x.re / x.abs, arg 0 defaults to 0

Equations
    Instances For
      theorem Complex.cos_arg {x : } (hx : x 0) :
      @[simp]
      theorem Complex.norm_mul_exp_arg_mul_I (x : ) :
      x * exp (x.arg * I) = x
      @[simp]
      theorem Complex.norm_mul_cos_add_sin_mul_I (x : ) :
      x * (cos x.arg + sin x.arg * I) = x
      theorem Complex.norm_eq_one_iff (z : ) :
      z = 1 ∃ (θ : ), exp (θ * I) = z
      @[deprecated Complex.norm_mul_exp_arg_mul_I (since := "2025-02-16")]
      theorem Complex.abs_mul_exp_arg_mul_I (x : ) :
      x * exp (x.arg * I) = x

      Alias of Complex.norm_mul_exp_arg_mul_I.

      @[deprecated Complex.norm_mul_cos_add_sin_mul_I (since := "2025-02-16")]
      theorem Complex.abs_mul_cos_add_sin_mul_I (x : ) :
      x * (cos x.arg + sin x.arg * I) = x

      Alias of Complex.norm_mul_cos_add_sin_mul_I.

      @[deprecated Complex.norm_mul_cos_arg (since := "2025-02-16")]

      Alias of Complex.norm_mul_cos_arg.

      @[deprecated Complex.norm_mul_sin_arg (since := "2025-02-16")]

      Alias of Complex.norm_mul_sin_arg.

      @[deprecated Complex.norm_eq_one_iff (since := "2025-02-16")]
      theorem Complex.abs_eq_one_iff (z : ) :
      z = 1 ∃ (θ : ), exp (θ * I) = z

      Alias of Complex.norm_eq_one_iff.

      @[simp]
      theorem Complex.range_exp_mul_I :
      (Set.range fun (x : ) => exp (x * I)) = Metric.sphere 0 1
      theorem Complex.arg_mul_cos_add_sin_mul_I {r : } (hr : 0 < r) {θ : } ( : θ Set.Ioc (-Real.pi) Real.pi) :
      (r * (cos θ + sin θ * I)).arg = θ
      theorem Complex.arg_cos_add_sin_mul_I {θ : } ( : θ Set.Ioc (-Real.pi) Real.pi) :
      (cos θ + sin θ * I).arg = θ
      theorem Complex.arg_exp_mul_I (θ : ) :
      (exp (θ * I)).arg = toIocMod (-Real.pi) θ
      @[simp]
      theorem Complex.arg_zero :
      arg 0 = 0
      theorem Complex.ext_norm_arg {x y : } (h₁ : x = y) (h₂ : x.arg = y.arg) :
      x = y
      @[deprecated Complex.ext_norm_arg (since := "2025-02-16")]
      theorem Complex.ext_abs_arg {x y : } (h₁ : x = y) (h₂ : x.arg = y.arg) :
      x = y

      Alias of Complex.ext_norm_arg.

      @[deprecated Complex.ext_norm_arg_iff (since := "2025-02-16")]
      theorem Complex.ext_abs_arg_iff {x y : } :
      x = y x = y x.arg = y.arg

      Alias of Complex.ext_norm_arg_iff.

      @[simp]
      theorem Complex.arg_nonneg_iff {z : } :
      0 z.arg 0 z.im
      @[simp]
      theorem Complex.arg_neg_iff {z : } :
      z.arg < 0 z.im < 0
      theorem Complex.arg_real_mul (x : ) {r : } (hr : 0 < r) :
      (r * x).arg = x.arg
      theorem Complex.arg_mul_real {r : } (hr : 0 < r) (x : ) :
      (x * r).arg = x.arg
      theorem Complex.arg_eq_arg_iff {x y : } (hx : x 0) (hy : y 0) :
      x.arg = y.arg y / x * x = y
      @[simp]
      theorem Complex.arg_one :
      arg 1 = 0
      @[simp]
      theorem Complex.arg_div_self (x : ) :
      (x / x).arg = 0

      This holds true for all x : ℂ because of the junk values 0 / 0 = 0 and arg 0 = 0.

      @[simp]
      @[simp]
      @[simp]
      @[simp]
      theorem Complex.tan_arg (x : ) :
      theorem Complex.arg_ofReal_of_nonneg {x : } (hx : 0 x) :
      (↑x).arg = 0
      @[simp]
      theorem Complex.natCast_arg {n : } :
      (↑n).arg = 0
      @[simp]
      theorem Complex.ofNat_arg {n : } [n.AtLeastTwo] :
      theorem Complex.arg_eq_zero_iff {z : } :
      z.arg = 0 0 z.re z.im = 0
      theorem Complex.arg_ofReal_of_neg {x : } (hx : x < 0) :
      (↑x).arg = Real.pi
      theorem Complex.arg_of_re_nonneg {x : } (hx : 0 x.re) :
      theorem Complex.arg_of_re_neg_of_im_nonneg {x : } (hx_re : x.re < 0) (hx_im : 0 x.im) :
      theorem Complex.arg_of_re_neg_of_im_neg {x : } (hx_re : x.re < 0) (hx_im : x.im < 0) :
      theorem Complex.arg_of_im_nonneg_of_ne_zero {z : } (h₁ : 0 z.im) (h₂ : z 0) :
      theorem Complex.arg_of_im_pos {z : } (hz : 0 < z.im) :
      theorem Complex.arg_of_im_neg {z : } (hz : z.im < 0) :
      @[simp]
      theorem Complex.norm_eq_one_iff' {x : } :
      x = 1 θSet.Ioc (-Real.pi) Real.pi, exp (θ * I) = x
      @[deprecated Complex.norm_eq_one_iff' (since := "2025-02-16")]
      theorem Complex.abs_eq_one_iff' {x : } :
      x = 1 θSet.Ioc (-Real.pi) Real.pi, exp (θ * I) = x

      Alias of Complex.norm_eq_one_iff'.

      theorem Complex.arg_lt_pi_div_two_iff {z : } :
      z.arg < Real.pi / 2 0 < z.re z.im < 0 z = 0
      @[simp]
      @[simp]
      theorem Complex.arg_conj_coe_angle (x : ) :
      ((starRingEnd ) x).arg = -x.arg
      @[simp]
      theorem Complex.arg_inv_coe_angle (x : ) :
      x⁻¹.arg = -x.arg
      theorem Complex.arg_neg_coe_angle {x : } (hx : x 0) :
      (-x).arg = x.arg + Real.pi
      theorem Complex.arg_mul_cos_add_sin_mul_I_eq_toIocMod {r : } (hr : 0 < r) (θ : ) :
      (r * (cos θ + sin θ * I)).arg = toIocMod Real.two_pi_pos (-Real.pi) θ
      theorem Complex.arg_mul_cos_add_sin_mul_I_sub {r : } (hr : 0 < r) (θ : ) :
      (r * (cos θ + sin θ * I)).arg - θ = 2 * Real.pi * (Real.pi - θ) / (2 * Real.pi)
      theorem Complex.arg_cos_add_sin_mul_I_sub (θ : ) :
      (cos θ + sin θ * I).arg - θ = 2 * Real.pi * (Real.pi - θ) / (2 * Real.pi)
      theorem Complex.arg_mul_cos_add_sin_mul_I_coe_angle {r : } (hr : 0 < r) (θ : Real.Angle) :
      (r * (θ.cos + θ.sin * I)).arg = θ
      theorem Complex.arg_mul_coe_angle {x y : } (hx : x 0) (hy : y 0) :
      (x * y).arg = x.arg + y.arg
      theorem Complex.arg_div_coe_angle {x y : } (hx : x 0) (hy : y 0) :
      (x / y).arg = x.arg - y.arg
      theorem Complex.arg_pow_coe_angle (x : ) (n : ) :
      (x ^ n).arg = n x.arg
      theorem Complex.arg_zpow_coe_angle (x : ) (n : ) :
      (x ^ n).arg = n x.arg
      @[simp]
      theorem Complex.arg_coe_angle_eq_iff {x y : } :
      x.arg = y.arg x.arg = y.arg
      theorem Complex.arg_mul_eq_add_arg_iff {x y : } (hx₀ : x 0) (hy₀ : y 0) :
      theorem Complex.arg_mul {x y : } (hx₀ : x 0) (hy₀ : y 0) :
      x.arg + y.arg Set.Ioc (-Real.pi) Real.pi(x * y).arg = x.arg + y.arg

      Alias of the reverse direction of Complex.arg_mul_eq_add_arg_iff.

      An alternative description of the slit plane as consisting of nonzero complex numbers whose argument is not π.

      theorem Complex.arg_eq_nhds_of_re_pos {x : } (hx : 0 < x.re) :
      arg =ᶠ[nhds x] fun (x : ) => Real.arcsin (x.im / x)
      theorem Complex.arg_eq_nhds_of_re_neg_of_im_pos {x : } (hx_re : x.re < 0) (hx_im : 0 < x.im) :
      arg =ᶠ[nhds x] fun (x : ) => Real.arcsin ((-x).im / x) + Real.pi
      theorem Complex.arg_eq_nhds_of_re_neg_of_im_neg {x : } (hx_re : x.re < 0) (hx_im : x.im < 0) :
      arg =ᶠ[nhds x] fun (x : ) => Real.arcsin ((-x).im / x) - Real.pi
      theorem Complex.arg_eq_nhds_of_im_pos {z : } (hz : 0 < z.im) :
      arg =ᶠ[nhds z] fun (x : ) => Real.arccos (x.re / x)
      theorem Complex.arg_eq_nhds_of_im_neg {z : } (hz : z.im < 0) :
      arg =ᶠ[nhds z] fun (x : ) => -Real.arccos (x.re / x)