Skip to content

Conversation

@yoshihiro503
Copy link
Contributor

Co-authored-by: Reynald Affeldt [email protected]

Motivation for this change
Things done/to do
  • added corresponding entries in CHANGELOG_UNRELEASED.md
    (do not edit former entries, only append new ones, be careful:
    merge and rebase have a tendency to mess up CHANGELOG_UNRELEASED.md)
  • added corresponding documentation in the headers
Automatic note to reviewers

Read this Checklist and put a milestone if possible.

@yoshihiro503 yoshihiro503 changed the title Draft: Introduce conves Draft: Introduce convex Nov 4, 2022
@yoshihiro503 yoshihiro503 changed the title Draft: Introduce convex Draft: Introduce convex function on real numbers Nov 4, 2022
@yoshihiro503 yoshihiro503 force-pushed the yoshihirot503@convex branch 2 times, most recently from 2343aae to 3889af7 Compare November 18, 2022 02:44
@affeldt-aist affeldt-aist marked this pull request as draft November 22, 2022 02:07
@yoshihiro503 yoshihiro503 changed the title Draft: Introduce convex function on real numbers Introduce convex function on real numbers Dec 2, 2022
@yoshihiro503 yoshihiro503 reopened this Dec 2, 2022
@yoshihiro503 yoshihiro503 marked this pull request as ready for review December 2, 2022 08:38
Copy link
Contributor

@zstone1 zstone1 left a comment

Choose a reason for hiding this comment

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

Nice results. I've made comments about a couple generalizations, one regarding annoying endpoint issues, the other regarding generalizing to vector space ranges. I care more about the endpoints one mostly because it's much harder to fix later. Happy to work with you on that if that'd be helpful.

(* ^^^ probability ^^^ *)

Definition derivable_interval {R : numFieldType}(f : R -> R) (a b: R) :=
forall x, x \in `[a, b] -> derivable f x 1.
Copy link
Contributor

Choose a reason for hiding this comment

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

This definition misbehaves at the endpoints. In particular, it requires f to be be "differentiable from the left at a". That makes this definition rely on values of f outside [a,b]. One big consequence is characteristic functions like if x \in `[a,b] then 1 else 0 fails this definition, as its not derivable at a or b. For what it's worth, I had an analogous issue with realfun.v, see #752 for how I addressed it there. You'll need something slightly different here, though.

I've seen textbooks take these approaches:

  1. Demanding "continuity up the endpoints" is one approach
forall x, x \in `]a, b[ -> derivable f x 1.
/\
cvg (at_right a f^`()) /\ cvg (at_right b f^`())

or some variation of this. However, this implies some continuity of the derivative, which is maybe not ideal.
2. We could change the derivative to use a different topology. One way to do that is add an analog to the {within `[a,b], continuous f} notation of {within `[a,b], derivable f}. This would take limits only on the subspace topology.
3. Similarly, but specialized to working in R, it should be fine to define it like

forall x, x \in `]a, b[ -> derivable f x 1
/\
"differentiable from the right at b" /\ "differentiable from the left at a"

For some sensible notion of "left" and "right" derivative.

Section twice_derivable_convex.

Variable R : realType.
Variables (f : R -> R) (a b : R).
Copy link
Contributor

Choose a reason for hiding this comment

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

Where do we need the assumption that the range of f is R? If it's painless, generalizing to a vector space would be quite helpful for me. I'll need some stuff about convexity in both R and R^n for my work on space-filling curves, so I'm happy to have these results either way.

@affeldt-aist affeldt-aist mentioned this pull request Mar 13, 2023
2 tasks
@affeldt-aist affeldt-aist marked this pull request as draft March 13, 2023 17:17
@affeldt-aist
Copy link
Member

I opened PR #873 and moved the comments by @zstone1 there because it looked like maintainers do not have write access (not 100% sure though). I hope you don't mind moving the conversation there.

@affeldt-aist affeldt-aist added kind: duplicate wontfix/merge 🚫 We wont fix this issue/merge this PR, we will close it soon and removed kind: duplicate labels Mar 15, 2023
@CohenCyril CohenCyril mentioned this pull request Oct 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

wontfix/merge 🚫 We wont fix this issue/merge this PR, we will close it soon

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants