Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

feat(analysis/calculus/fderiv/exp): derivative of exp ℝ (A x) in non-commutative rings - #19056

Open
eric-wieser wants to merge 15 commits into
masterfrom
eric-wieser/deriv-exp
Open

feat(analysis/calculus/fderiv/exp): derivative of exp ℝ (A x) in non-commutative rings#19056
eric-wieser wants to merge 15 commits into
masterfrom
eric-wieser/deriv-exp

Conversation

@eric-wieser

@eric-wieser eric-wieser commented May 21, 2023

Copy link
Copy Markdown
Member

This follows the proof on Physics.SE that shows

$$\frac{d}{dt}e^{x(t)} = \int_0^1 e^{sx(t)} \left(\frac{d}{dt}e^{x(t)}\right) e^{(1-s)x(t)} ds$$

There are significant stumbling blocks in the way of proving this, sadly.


Open in Gitpod

@eric-wieser eric-wieser added the WIP Work in progress label May 21, 2023
Comment thread src/analysis/calculus/fderiv/exp.lean Outdated
Comment on lines +24 to +25
lemma has_deriv_at_exp_smul_const (A : 𝔸) (t : ℝ) :
has_deriv_at (λ t : ℝ, exp ℝ (t • A)) (A * exp ℝ (t • A)) t := sorry

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ADedecker; do you know if your existing results in nalysis.special_functions.exponential are strong enough to prove this?

@ADedecker ADedecker May 22, 2023

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, I know about this issue. Indeed we don't have what is required to prove them right now, but that shouldn't be too much trouble. I had started to work on something like that bout two years ago (you can have a look at the very old branch more_exponential), and I think at least the statement should be saved:

lemma has_fderiv_at_exp_smul_const_of_mem_ball [char_zero 𝕂] {𝔸' : Type*} [normed_comm_ring 𝔸']
  [normed_algebra 𝕂 𝔸'] [algebra 𝔸' 𝔸] [has_continuous_smul 𝔸' 𝔸] [is_scalar_tower 𝕂 𝔸' 𝔸]
  (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 :=

(of course you can get rid of the radius hypothesis with is_R_or_C)

At the time I wasn't aware of algebra.adjoin so I made this the main lemma and made has_fderiv_at_exp_of_mem_ball a consequence (at least I wanted to, IIRC this caused some troubles), but maybe a more sensible approach would be to (1) prove that exp behaves well under continuous algebra morphisms and (2) consider the closure of the subalgebra algebra.adjoin 𝔸' x (which is complete and commutative), apply has_fderiv_at_exp_of_mem_ball and then (1).

I can have a go at either reviving my old proof or trying the new one if you want.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to revive your old proof with minimal modification. The primed version now follows trivially from the unprimed one.

Is there any advantage to switching to your proposed strategy?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(1) prove that exp behaves well under continuous algebra morphisms

I proved this a while ago, it's map_exp.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was able to revive your old proof with minimal modification. The primed version now follows trivially from the unprimed one.

Thanks a lot!

Is there any advantage to switching to your proposed strategy?

Not really, but with a bit more mathematical maturity than I had two years ago the second approach feels more natural, and this is definitely what we would do on paper. But I think it would be a bit painful in Lean, and we definitely lack some API (for example I can't find the fact that algebra.adjoin is commutative under the obvious hypotheses). So since this one's working I'd say sticking to it is the best solution.

I have a last question, did you check wether has_fderiv_at_exp_of_mem_ball could be made a consequence of this version? If you prefer not to change previous files because of the port that's fine of course, but it would be nice to at least give it a try.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've extracted all these results to #19062

Comment thread src/analysis/calculus/fderiv/exp.lean Outdated
@ghost ghost added blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. and removed blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels May 22, 2023
@ghost

ghost commented May 25, 2023

Copy link
Copy Markdown

@eric-wieser eric-wieser added the help-wanted The author needs attention to resolve issues label May 26, 2023
@kim-em kim-em added the too-late This PR was ready too late for inclusion in mathlib3 label Jul 16, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

help-wanted The author needs attention to resolve issues too-late This PR was ready too late for inclusion in mathlib3 WIP Work in progress

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants