Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(analysis/calculus/deriv): one-dimensional derivatives #1670

Merged
merged 7 commits into from Nov 13, 2019

Conversation

gebner
Copy link
Member

@gebner gebner commented Nov 11, 2019

TO CONTRIBUTORS:

Make sure you have:

  • reviewed and applied the coding style: coding, naming
  • reviewed and applied the documentation requirements
  • for tactics:
  • make sure definitions and lemmas are put in the right files
  • make sure definitions and lemmas are not redundant

If this PR is related to a discussion on Zulip, please include a link in the discussion.

For reviewers: code review check list

Copy link
Member

@jcommelin jcommelin left a comment

Choose a reason for hiding this comment

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

In this design, f' is a term of type F. I haven't thought hard about this, but I would expect a function f' : 𝕜 → F which you then might evaluate at a point x when needed. Does this make sense, or should this only come at a later step?

src/analysis/calculus/deriv.lean Outdated Show resolved Hide resolved
@gebner
Copy link
Member Author

gebner commented Nov 11, 2019

I haven't thought hard about this, but I would expect a function f' : 𝕜 → F which you then might evaluate at a point x when needed. Does this make sense, or should this only come at a later step?

It's the same approach as taken for the Fréchet derivative: we only define the derivative at a single point. If we need to state that a function f' : \bbk \to F is a derivative on a subset U : set \bbk, then this should be a separate definition on top.

@sgouezel
Copy link
Collaborator

Thanks a lot for this, this looks great to me! I can spot two missing bits in the API: composition of a function f from k to E and of a function g from E to F (where the derivative of g o f is the Fréchet derivative of g applied to the derivative of f), and multiplication of a function f from k to k with a function g from k to E, but these two can be added later when they are needed.

I leave this PR open as others might want to add more comments. Unless there are more comments, I will merge it in a few days (if you fix the broken build inbetween :)

@urkud
Copy link
Member

urkud commented Nov 11, 2019

Another possible addition to the API: derivatives of the inner product and of the norm and distance induced by an inner product.

@sgouezel
Copy link
Collaborator

In this design, f' is a term of type F. I haven't thought hard about this, but I would expect a function f' : 𝕜 → F which you then might evaluate at a point x when needed. Does this make sense, or should this only come at a later step?

has_deriv f f' x is really a pointwise statement. If you want to write down a global statement, you would rather use the function deriv f (which is the derivative of f when it exists and 0 otherwise) and an assumption differentiable f (saying that f has everywhere a derivative).

@gebner
Copy link
Member Author

gebner commented Nov 11, 2019

Another possible addition to the API: derivatives of the inner product and of the norm and distance induced by an inner product.

Another useful generalization of multiplication would be normed algebras over the base field. (Such as the complex numbers over the reals.)

@sgouezel sgouezel added the ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) label Nov 13, 2019
@mergify mergify bot merged commit 6625f66 into leanprover-community:master Nov 13, 2019
anrddh pushed a commit to anrddh/mathlib that referenced this pull request May 15, 2020
…r-community#1670)

* feat(analysis/calculus/deriv): one-dimensional derivatives

* Typos.

* Define deriv f x as fderiv 𝕜 f x 1

* Proof style.

* Fix failing proofs.
anrddh pushed a commit to anrddh/mathlib that referenced this pull request May 16, 2020
…r-community#1670)

* feat(analysis/calculus/deriv): one-dimensional derivatives

* Typos.

* Define deriv f x as fderiv 𝕜 f x 1

* Proof style.

* Fix failing proofs.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants