@@ -21,6 +21,7 @@ We also prove basic properties of these functions.
21
21
noncomputable theory
22
22
23
23
open_locale classical real topological_space nnreal ennreal filter big_operators asymptotics
24
+ open_locale complex_conjugate
24
25
open filter finset set
25
26
26
27
namespace complex
@@ -493,6 +494,42 @@ begin
493
494
{ exact abs_cpow_eq_rpow_re_of_pos hlt y }
494
495
end
495
496
497
+ lemma inv_cpow_eq_ite (x : ℂ) (n : ℂ) :
498
+ x⁻¹ ^ n = if x.arg = π then conj (x ^ conj n)⁻¹ else (x ^ n)⁻¹ :=
499
+ begin
500
+ simp_rw [complex.cpow_def, log_inv_eq_ite, inv_eq_zero, map_eq_zero, ite_mul, neg_mul,
501
+ is_R_or_C.conj_inv, apply_ite conj, apply_ite exp, apply_ite has_inv.inv, map_zero, map_one,
502
+ exp_neg, inv_one, inv_zero, ←exp_conj, map_mul, conj_conj],
503
+ split_ifs with hx hn ha ha; refl,
504
+ end
505
+
506
+ lemma inv_cpow (x : ℂ) (n : ℂ) (hx : x.arg ≠ π) : x⁻¹ ^ n = (x ^ n)⁻¹ :=
507
+ by rw [inv_cpow_eq_ite, if_neg hx]
508
+
509
+ /-- `complex.inv_cpow_eq_ite` with the `ite` on the other side. -/
510
+ lemma inv_cpow_eq_ite' (x : ℂ) (n : ℂ) :
511
+ (x ^ n)⁻¹ = if x.arg = π then conj (x⁻¹ ^ conj n) else x⁻¹ ^ n :=
512
+ begin
513
+ rw [inv_cpow_eq_ite, apply_ite conj, conj_conj, conj_conj],
514
+ split_ifs,
515
+ { refl },
516
+ { rw inv_cpow _ _ h }
517
+ end
518
+
519
+ lemma conj_cpow_eq_ite (x : ℂ) (n : ℂ) :
520
+ conj x ^ n = if x.arg = π then x ^ n else conj (x ^ conj n) :=
521
+ begin
522
+ simp_rw [cpow_def, map_eq_zero, apply_ite conj, map_one, map_zero, ←exp_conj, map_mul,
523
+ conj_conj, log_conj_eq_ite],
524
+ split_ifs with hcx hn hx; refl
525
+ end
526
+
527
+ lemma conj_cpow (x : ℂ) (n : ℂ) (hx : x.arg ≠ π) : conj x ^ n = conj (x ^ conj n) :=
528
+ by rw [conj_cpow_eq_ite, if_neg hx]
529
+
530
+ lemma cpow_conj (x : ℂ) (n : ℂ) (hx : x.arg ≠ π) : x ^ conj n = conj (conj x ^ n) :=
531
+ by rw [conj_cpow _ _ hx, conj_conj]
532
+
496
533
end complex
497
534
498
535
namespace real
0 commit comments