-
Notifications
You must be signed in to change notification settings - Fork 294
[Merged by Bors] - feat(analysis/inner_product_space/basic): orthogonal submodules #18705
Conversation
This PR/issue depends on: |
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.
I can see this API being very useful, thanks. I saw you had plans for splitting. What are they? Did they already happen?
(self_is_ortho_orthogonal U).symm | ||
|
||
@[simp] | ||
lemma is_ortho_top_right {U : submodule 𝕜 E} : U ⟂ ⊤ ↔ U = ⊥ := |
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.
Okay, this reads funny!
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.
I think I derived this name from disjoint_top_right
, though I might be imagining things
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.
This is even worse: lemma is_ortho_bot_left {V : submodule 𝕜 E} : ⊥ ⟂ V
. Is there any reason why we use ⊥
(the submodule, not the orthogonality sign) instead of 0
?
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.
Yes, we more often care about its order properties than its algebraic ones (which only come in handy when doing pointwise operations).
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.
If these are really objectionable I could either write is_ortho ⊥ V
or (⊥ : submodule 𝕜 E) ⟂ V
here
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.
I think it's alright. My remark was inconsequential.
The splitting plan already happened, this all used to be in |
Co-authored-by: Yaël Dillies <[email protected]>
@@ -1885,6 +1885,7 @@ open_locale direct_sum | |||
The simple way to express this concept would be as a condition on `V : ι → submodule 𝕜 E`. We | |||
We instead implement it as a condition on a family of inner product spaces each equipped with an | |||
isometric embedding into `E`, thus making it a property of morphisms rather than subobjects. | |||
The connection to the subobject spelling is shown in `orthogonal_family_iff_pairwise`. |
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.
Oh hmm, if you've already split out orthogonality, why is this still here?
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.
I left behind the orthogonal family stuff since it's not about submodules at all.
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.
I'm not opposed to a further split / reshuffle, but I think it's out of scope for this PR.
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.
Ah I see. The file names are currently misleading.
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.
Glad you took this on.
maintainer merge
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
1 similar comment
🚀 Pull request has been placed on the maintainer queue by YaelDillies. |
Thanks! bors r+ |
This adds `submodule.is_ortho U V`, with notation `U ⟂ V`, as a shorthand for `U ≤ Vᗮ`. To make this useful, this also adds about 30 lemmas of basic API. Some downstream proofs are golfed using the new API.
Pull request successfully merged into master. Build succeeded: |
This adds `submodule.is_ortho U V`, with notation `U ⟂ V`, as a shorthand for `U ≤ Vᗮ`. To make this useful, this also adds about 30 lemmas of basic API. Some downstream proofs are golfed using the new API.
This adds
submodule.is_ortho U V
, with notationU ⟂ V
, as a shorthand forU ≤ Vᗮ
.To make this useful, this also adds about 30 lemmas of basic API.
Some downstream proofs are golfed using the new API.
submodule.orthogonal
to a new file #18706This acts upon a discussion in #18230.
I've tried to add all the obvious API, but there are almost certainly some useful results I've missed. I am happy to add more to this PR.