-
Notifications
You must be signed in to change notification settings - Fork 295
[Merged by Bors] - feat(analysis/special_functions/exponential): derivative of u β¦ exp π (u β’ x)
#19062
Conversation
β¦π (u β’ x)` Co-authored-by: Anatole Dedecker <[email protected]>
I'm pretty sure it can be, and now they're in the same file. My only hesitation is that it feels like I should be deducing them in the other direction! |
That's precisely why the I think it's completely fine to leave it as is, but I'll leave a comment along the lines of:
|
I'll have a closer look tomorrow, feel free to ping me on Zulip if I forget, it would be nice to stay ahead of the porting tide. |
I attempted the instance subalgebra.normed_algebra' {R' : Type*} {R : Type*} {A : Type*} [comm_ring R]
[semi_normed_ring A]
[algebra R A] (S : subalgebra R A) [normed_field R'] [algebra R' R]
[normed_algebra R' A] [is_scalar_tower R' R A] : normed_algebra R' β₯S :=
@normed_algebra.induced _ R' S A _ (subring_class.to_ring S) S.algebra' _ _ _
(S.val.restrict_scalars R')
instance elemental_algebra.normed_comm_ring (R) {A} [comm_ring R] [normed_ring A] [algebra R A] (a : A):
normed_comm_ring (algebra.elemental_algebra R a) :=
{ ..algebra.elemental_algebra.comm_ring,
..subalgebra.normed_ring (algebra.elemental_algebra R a) }
instance elemental_algebra.is_closed (R) {A} [comm_ring R] [ring A] [algebra R A]
[uniform_space A] [topological_ring A] [complete_space A] (a : A):
complete_space (algebra.elemental_algebra R a) :=
is_closed.complete_space_coe $ subalgebra.is_closed_topological_closure _
lemma has_fderiv_at_exp_smul_const_of_mem_ball
(x : πΉ) (t : πΈ) (htx : t β’ x β emetric.ball (0 : πΉ) (exp_series π πΉ).radius) :
has_fderiv_at (Ξ» u : πΈ, exp π (u β’ x))
(exp π (t β’ x) β’ (1 : πΈ βL[π] πΈ).smul_right x) t :=
begin
let πΉ' := (algebra.elemental_algebra πΈ x),
letI : normed_comm_ring πΉ' := elemental_algebra.normed_comm_ring πΈ x,
letI : normed_algebra π πΉ' := subalgebra.normed_algebra' _,
letI : is_closed βπΉ' := subalgebra.is_closed_topological_closure _,
let x' : πΉ' := t β’ β¨x, algebra.self_mem_elemental_algebra _ _β©,
let s := (exp_series π πΉ'),
have hx' : x' β emetric.ball (0 : πΉ') (exp_series π πΉ').radius,
{ rw [mem_emetric_ball_zero_iff] at htx β’,
refine htx.trans_le _,
let coeL : πΉ' βL[π] πΉ := (πΉ'.to_submodule.subtypeL : _).restrict_scalars π,
have := (exp_series π πΉ').radius_le_radius_continuous_linear_map_comp coeL,
sorry },
have := has_fderiv_at_exp_of_mem_ball hx',
sorry
end I don't know if the first sorry is true. The second one probably is, but looks annoying. |
I've opted for leaving a TODO comment about the alternative proof strategy above, so as to not fall too far behind. A reasonable number of the things we'd need for the subalgebra proof are missing. |
I was expecting that. Thanks for giving it a try anyway! |
Co-authored-by: Anatole Dedecker <[email protected]>
Is the existing comment sufficient, or do you want something more prominent? Feel free to suggest something in the diff. |
Co-authored-by: Anatole Dedecker <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
maintainer merge
π Pull request has been placed on the maintainer queue by ADedecker. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
bors r+
β¦π (u β’ x)` (#19062) Revived from an old branch of @ADedecker, golfed using new lemmas that I added in the meantime.
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
u β¦ exp π (u β’ x)
u β¦ exp π (u β’ x)
Revived from an old branch of @ADedecker, golfed using new lemmas that I added in the meantime.