feat(analysis/normed_space) bundled bounded linear maps#726
feat(analysis/normed_space) bundled bounded linear maps#726jlpaca wants to merge 12 commits intoleanprover-community:masterfrom jlpaca:operator-norm
Conversation
PatrickMassot
left a comment
There was a problem hiding this comment.
I left some minor comments
- bounded_linear_map is a k-vector space - bounded_linear_map together with op_norm are a normed space
… endomorphism algebra
jcommelin
left a comment
There was a problem hiding this comment.
Some minor comments about comments
…perator-norm - also some notation for bounded_linear_map
|
@jcommelin Thanks for the pointers. a0369fd removes some spurious comments and adds docstrings. |
| import ring_theory.algebra | ||
| import analysis.normed_space.basic | ||
| import analysis.asymptotics | ||
| import ..asymptotics |
There was a problem hiding this comment.
I think this is not conform mathlib style.
| def of_linear_map_of_bounded {f : E →ₗ[k] F} | ||
| (h : ∃ M, ∀ x, ∥f x∥ ≤ M * ∥x∥) : E →L[k] F := ⟨f, h⟩ | ||
|
|
||
| /-- the zero map is bounded. -/ |
There was a problem hiding this comment.
| /-- the zero map is bounded. -/ | |
| /-- The bounded map that is constantly zero. -/ |
| /-- the identity map is bounded. -/ | ||
| def id : E →L[k] E := ⟨linear_map.id, 1, λ x, le_of_eq (one_mul _).symm⟩ | ||
|
|
||
| /-- the composition of two bounded linear maps is bounded. -/ |
There was a problem hiding this comment.
| /-- the composition of two bounded linear maps is bounded. -/ | |
| /-- Composition of bounded linear maps. -/ |
| commutes' := λ _ _, ext $ λ _, map_smul _ _ _, | ||
| } | ||
|
|
||
| /-- bounded linear maps are continuous. -/ |
There was a problem hiding this comment.
| /-- bounded linear maps are continuous. -/ | |
| /-- Bounded linear maps are continuous. -/ |
|
|
||
| noncomputable instance : has_norm (bounded_linear_map k E F) := ⟨op_norm⟩ | ||
|
|
||
| -- so that invocations of real.Inf_le make sense: the set of |
There was a problem hiding this comment.
This comment seems to start halfway a sentence.
| (λ hlt, div_le_of_le_mul hlt (by rw mul_comm; exact le_op_norm _)) | ||
| (λ heq, by rw [←heq, div_zero]; exact op_norm_nonneg _)) | ||
|
|
||
| /-- the image of the unit ball under a bounded linear map is bounded. -/ |
There was a problem hiding this comment.
| /-- the image of the unit ball under a bounded linear map is bounded. -/ | |
| /-- The image of the unit ball under a bounded linear map is bounded. -/ |
| (λ heq, by rw [←heq, div_zero]; exact op_norm_nonneg _)) | ||
|
|
||
| /-- the image of the unit ball under a bounded linear map is bounded. -/ | ||
| lemma unit_le_op_norm : ∥x∥ ≤ 1 → ∥f x∥ ≤ ∥f∥ := |
There was a problem hiding this comment.
I think you might as well move hx : ||x|| <= 1 to the assumptions.
| (by rw [ mul_comm, ←norm_smul ]; exact hc _))⟩)) | ||
| (λ heq, by rw [←heq, zero_mul]; exact hn)))) | ||
|
|
||
| /-- bounded linear maps themselves form a normed space w/ the op norm -/ |
There was a problem hiding this comment.
| /-- bounded linear maps themselves form a normed space w/ the op norm -/ | |
| /-- Bounded linear maps form a normed space with respect to the operator norm -/ |
| noncomputable instance : normed_space k (bounded_linear_map k E F) := | ||
| normed_space.of_core _ _ ⟨op_norm_eq_zero, op_norm_smul, op_norm_triangle⟩ | ||
|
|
||
| /-- operator norm is submultiplicative. -/ |
There was a problem hiding this comment.
| /-- operator norm is submultiplicative. -/ | |
| /-- The operator norm is submultiplicative. -/ |
| λ x, by rw mul_assoc; calc _ ≤ ∥h∥ * ∥f x∥: le_op_norm _ | ||
| ... ≤ _ : mul_le_mul_of_nonneg_left (le_op_norm _) (op_norm_nonneg _)⟩) | ||
|
|
||
| /-- bounded linear maps are lipschitz continuous. -/ |
There was a problem hiding this comment.
| /-- bounded linear maps are lipschitz continuous. -/ | |
| /-- Bounded linear maps are lipschitz continuous. -/ |
…ear maps - chain rule lemma & two results about real normed spaces work in progress
|
What is the status of this pull request? If I understand correctly, there are two things in there:
I don't really understand the point of the first item: it is certainly better to have both unbundled and bundled versions, and both versions are already there (the bundled version is in the current version of On the other hand, I think the second item (using bundled version for the differential) is a good move. What about :
Does it sound reasonable to you? |
|
@sgouezel most of this is admittedly my fault for not spending as much time as consistently as I'd like on this, and mathlib moves forward fast. So about the content of the PR: at the time I started working on this, the state of
The changes that are/were part of this PR:
I think closing this and opening separate PRs for the refactor and the derivative is a sensible thing to do, and I'll probably do that in the coming couple of days. I imagine it'd make the changes much easier to review. The only thing that would probably need figuring out is whether to keep both implementations of the normed space of bounded linear maps (the subtype I don't have strong feelings about whether or not to remove |
|
I think it is better to keep the unbundled version As for the bundled version, we already have one, in the form of |
|
Would you mind if I try to rebase your branch on master and try some minor changes? |
|
@sgouezel please go ahead with the rebase. Just so I don't be a doofus with duplicated work again, would you mind outlining what sort of changes you mean to exact? Meanwhile, I'm working on the first of the two suggested refactor PRs as I speak. Expected changes are:
also possibly
The actual PR should probably exist by tonight or tomorrow. Does that sound alright? |
|
Great to hear you're working on it. Since you're working on it, I won't do any refactor. What you propose sounds great. As for the condition in |
|
Yes, this should be closed. |
bounded_linear_mapas a structure.TO CONTRIBUTORS:
Make sure you have:
If this PR is related to a discussion on Zulip, please include a link in the discussion.
For reviewers: code review check list