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

feat(analysis/inner_product_space/positive): Positivity of linear maps #18230

Open
wants to merge 18 commits into
base: master
Choose a base branch
from

Conversation

themathqueen
Copy link
Collaborator

@themathqueen themathqueen commented Jan 19, 2023

@themathqueen themathqueen added the awaiting-review The author would like community review of the PR label Jan 19, 2023
@themathqueen themathqueen changed the title chore(inner_product_space/positive): some lemmas feat(inner_product_space/positive): some lemmas Jan 19, 2023
Copy link
Collaborator

@YaelDillies YaelDillies left a comment

Choose a reason for hiding this comment

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

The name of this PR is very undescriptive. Can you improve it?

src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
Comment on lines 208 to 215
noncomputable def sqrt (hT : T.is_symmetric) : V →ₗ[ℂ] V :=
{ to_fun := λ v, ∑ (i : (fin n)),
real.sqrt (hT.eigenvalues hn i) • ⟪(hT.eigenvector_basis hn) i, v⟫_ℂ
• (hT.eigenvector_basis hn) i,
map_add' := λ x y, by simp_rw [inner_add_right, add_smul, smul_add, finset.sum_add_distrib],
map_smul' := λ r x, by simp_rw [inner_smul_right, ← smul_smul, finset.smul_sum,
ring_hom.id_apply, ← complex.coe_smul, smul_smul,
← mul_assoc, mul_comm] }
Copy link
Member

Choose a reason for hiding this comment

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

I feel bad to tell you this after you've done all this work, but I don't think we want this definition (or rather, we want it in a much more general context, so this will likely get removed in the future when we are able to state the general version).
We will soon have the continuous functional calculus in mathlib (see #17164) which is the first step for making this definition in the general setup (although there is some work needed to show that positivity implies positivity of the spectrum, but in the case of continuous linear maps this is doable). Then of course we will need to know how it works in this concrete setup, but it seems wrong to do so much work with this restricted definition.
@j-loreaux what is your opinion on this?

Copy link
Collaborator

Choose a reason for hiding this comment

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

I'm not sure how I missed this ping (EDIT: figured it out, I started a review but never finished it). Anatole is correct that this can easily† be achieved with the continuous functional calculus. When that happens there will be a general sqrt that can be used on the appropriate maps. In particular, the sqrt function I'm imaging will be defined on elements of the positive cone of a (possibly non-unital) star_ordered_ring whenever we have the continuous functional calculus. If you want to apply this to a continuous_linear_map, you'll just need to do what Anatole suggested and prove that positivity (in terms of the inner product) implies positivity of the spectrum.

†this is perhaps a gross overstatement of the simplicity of this task. It's not as trivial as just popping in continuous_functional_calculus and going off to the races. I need to develop an entire API for the continuous functional calculus, and in particular it is vitally important that we get the non-unital version in before we really start to use it (I can explain, but I won't for now). I have started to develop this API on a branch, but it's not ready for prime time yet, and it probably won't be until after the port.

@ADedecker ADedecker added awaiting-author A reviewer has asked the author a question or requested changes t-analysis Analysis (normed *, calculus) and removed awaiting-review The author would like community review of the PR labels Jan 22, 2023
@themathqueen themathqueen added the WIP Work in progress label Jan 24, 2023
@themathqueen themathqueen added awaiting-review The author would like community review of the PR and removed WIP Work in progress awaiting-author A reviewer has asked the author a question or requested changes labels Jan 30, 2023
@themathqueen themathqueen changed the title feat(inner_product_space/positive): some lemmas feat(inner_product_space/positive): proving results for positive linear maps over (finite-dimensional) inner product spaces Jan 30, 2023
@YaelDillies
Copy link
Collaborator

Let me remark that those results pertain to the theory of C*-algebras.

@YaelDillies YaelDillies added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Mar 24, 2023
@mathlib-dependent-issues-bot mathlib-dependent-issues-bot added the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Mar 30, 2023
@YaelDillies YaelDillies added the merge-conflict Please `git merge origin/master` then a bot will remove this label. label Mar 30, 2023
@mathlib-dependent-issues-bot mathlib-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Apr 4, 2023
@YaelDillies YaelDillies changed the title feat(inner_product_space/positive): defines positivity of linear maps feat(analysis/inner_product_space/positive): Positivity of linear maps Apr 10, 2023
@themathqueen themathqueen added the awaiting-CI The author would like to see what CI has to say before doing more work. label Apr 14, 2023
@github-actions github-actions bot removed the awaiting-CI The author would like to see what CI has to say before doing more work. label Apr 14, 2023
Copy link
Member

@mcdoll mcdoll left a comment

Choose a reason for hiding this comment

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

I don't understand why Anatole's remark is completely ignored. The continuous functional calculus is in mathlib, so the easy way to prove things about positive operators is to use that. The change of the positivity definition seems to make it harder to connect these two parts of mathlib, imo.

src/analysis/inner_product_space/positive.lean Outdated Show resolved Hide resolved
@eric-wieser
Copy link
Member

I don't understand why Anatole's remark is completely ignored.

I skim-read it as "don't define sqrt, it's not needed", and sqrt has now been removed. It sounds like you're able to read more into the remark than I am.
Perhaps the best approach is to see what @ADedecker thinks about the current state.

Comment on lines +154 to +155
lemma is_positiveL_iff (T : E →L[𝕜] E) :
(T : E →ₗ[𝕜] E).is_positive ↔ is_self_adjoint T ∧ ∀ x, 0 ≤ T.re_apply_inner_self x :=
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't like the name here. It should to something like to_linear_map_is_positive_iff?

@kim-em
Copy link
Collaborator

kim-em commented May 2, 2023

Would this be nicer if we had two separate is_positives, in linear_map and in continuous_linear_map?

@eric-wieser
Copy link
Member

eric-wieser commented May 2, 2023

Would this be nicer if we had two separate is_positives, in linear_map and in continuous_linear_map?

I suggested in a previous comment that it would be nice to merge the two definitions so that we didn't have to duplicate a handful of lemmas between the two cases.

@j-loreaux
Copy link
Collaborator

One thing to note here: I'm not sure how valuable an is_positive definition and API are going to be. Ultimately, I think we'll want to take everything through something that doesn't exist yet: the positive cone in a star_ordered_ring, because this will (eventually) be the thing that has access to all the nice API (like the continuous functional calculus). I'm not necessarily saying we should abandon this PR, only that we may want to postpone it; I realize it's been sitting for a long time already.

@eric-wieser eric-wieser added the not-too-late This PR was ready at the point mathlib3 was frozen: we will try to merge it and port it to mathlib4 label Jul 15, 2023
@kim-em
Copy link
Collaborator

kim-em commented Jul 25, 2023

I've created a zulip thread about this PR.

@j-loreaux j-loreaux added not-ready-to-merge and removed not-too-late This PR was ready at the point mathlib3 was frozen: we will try to merge it and port it to mathlib4 awaiting-review The author would like community review of the PR labels Jul 26, 2023
@j-loreaux
Copy link
Collaborator

Per this Zulip discussion, this PR won't be merged (at least not in this form), but we are keeping it open as a reminder that some of these results don't yet exist in mathlib and that we are just taking a different approach.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
not-ready-to-merge t-analysis Analysis (normed *, calculus)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants