Documentation

Mathlib.Analysis.SpecialFunctions.Pow.Complex

Power function on โ„‚ #

We construct the power functions x ^ y, where x and y are complex numbers.

noncomputable def Complex.cpow (x y : โ„‚) :

The complex power function x ^ y, given by x ^ y = exp(y log x) (where log is the principal determination of the logarithm), unless x = 0 where one sets 0 ^ 0 = 1 and 0 ^ y = 0 for y โ‰  0.

Equations
    Instances For
      noncomputable instance Complex.instPow :
      Equations
        @[simp]
        theorem Complex.cpow_eq_pow (x y : โ„‚) :
        x.cpow y = x ^ y
        theorem Complex.cpow_def (x y : โ„‚) :
        x ^ y = if x = 0 then if y = 0 then 1 else 0 else exp (log x * y)
        @[simp]
        theorem Complex.cpow_zero (x : โ„‚) :
        x ^ 0 = 1
        @[simp]
        theorem Complex.zero_cpow {x : โ„‚} (h : x โ‰  0) :
        0 ^ x = 0
        @[simp]
        theorem Complex.cpow_one (x : โ„‚) :
        x ^ 1 = x
        @[simp]
        theorem Complex.one_cpow (x : โ„‚) :
        1 ^ x = 1
        theorem Complex.cpow_add {x : โ„‚} (y z : โ„‚) (hx : x โ‰  0) :
        x ^ (y + z) = x ^ y * x ^ z
        theorem Complex.cpow_mul {x y : โ„‚} (z : โ„‚) (hโ‚ : -Real.pi < (log x * y).im) (hโ‚‚ : (log x * y).im โ‰ค Real.pi) :
        x ^ (y * z) = (x ^ y) ^ z
        theorem Complex.cpow_sub {x : โ„‚} (y z : โ„‚) (hx : x โ‰  0) :
        x ^ (y - z) = x ^ y / x ^ z
        theorem Complex.cpow_int_mul (x : โ„‚) (n : โ„ค) (y : โ„‚) :
        x ^ (โ†‘n * y) = (x ^ y) ^ n

        See also Complex.cpow_int_mul'.

        theorem Complex.cpow_mul_int (x y : โ„‚) (n : โ„ค) :
        x ^ (y * โ†‘n) = (x ^ y) ^ n
        theorem Complex.cpow_nat_mul (x : โ„‚) (n : โ„•) (y : โ„‚) :
        x ^ (โ†‘n * y) = (x ^ y) ^ n
        theorem Complex.cpow_mul_nat (x y : โ„‚) (n : โ„•) :
        x ^ (y * โ†‘n) = (x ^ y) ^ n
        @[simp]
        theorem Complex.cpow_natCast (x : โ„‚) (n : โ„•) :
        x ^ โ†‘n = x ^ n
        @[simp]
        theorem Complex.cpow_intCast (x : โ„‚) (n : โ„ค) :
        x ^ โ†‘n = x ^ n
        @[simp]
        theorem Complex.cpow_nat_inv_pow (x : โ„‚) {n : โ„•} (hn : n โ‰  0) :
        (x ^ (โ†‘n)โปยน) ^ n = x
        theorem Complex.cpow_int_mul' {x : โ„‚} {n : โ„ค} (hlt : -Real.pi < โ†‘n * x.arg) (hle : โ†‘n * x.arg โ‰ค Real.pi) (y : โ„‚) :
        x ^ (โ†‘n * y) = (x ^ n) ^ y

        A version of Complex.cpow_int_mul with RHS that matches Complex.cpow_mul.

        The assumptions on the arguments are needed because the equality fails, e.g., for x = -I, n = 2, y = 1/2.

        theorem Complex.cpow_nat_mul' {x : โ„‚} {n : โ„•} (hlt : -Real.pi < โ†‘n * x.arg) (hle : โ†‘n * x.arg โ‰ค Real.pi) (y : โ„‚) :
        x ^ (โ†‘n * y) = (x ^ n) ^ y

        A version of Complex.cpow_nat_mul with RHS that matches Complex.cpow_mul.

        The assumptions on the arguments are needed because the equality fails, e.g., for x = -I, n = 2, y = 1/2.

        theorem Complex.pow_cpow_nat_inv {x : โ„‚} {n : โ„•} (hโ‚€ : n โ‰  0) (hlt : -(Real.pi / โ†‘n) < x.arg) (hle : x.arg โ‰ค Real.pi / โ†‘n) :
        (x ^ n) ^ (โ†‘n)โปยน = x
        theorem Complex.sq_cpow_two_inv {x : โ„‚} (hx : 0 < x.re) :
        (x ^ 2) ^ 2โปยน = x

        See also Complex.pow_cpow_ofNat_inv for a version that also works for x * I, 0 โ‰ค x.

        theorem Complex.mul_cpow_ofReal_nonneg {a b : โ„} (ha : 0 โ‰ค a) (hb : 0 โ‰ค b) (r : โ„‚) :
        (โ†‘a * โ†‘b) ^ r = โ†‘a ^ r * โ†‘b ^ r
        theorem Complex.natCast_mul_natCast_cpow (m n : โ„•) (s : โ„‚) :
        (โ†‘m * โ†‘n) ^ s = โ†‘m ^ s * โ†‘n ^ s
        theorem Complex.natCast_cpow_natCast_mul (n m : โ„•) (z : โ„‚) :
        โ†‘n ^ (โ†‘m * z) = (โ†‘n ^ m) ^ z