-
Notifications
You must be signed in to change notification settings - Fork 298
feat(analysis/inner_product_space/positive): Positivity of linear maps #18230
base: master
Are you sure you want to change the base?
Conversation
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.
The name of this PR is very undescriptive. Can you improve it?
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] } |
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 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?
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 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.
Let me remark that those results pertain to the theory of C*-algebras. |
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 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.
I skim-read it as "don't define |
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 := |
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 don't like the name here. It should to something like to_linear_map_is_positive_iff
?
Would this be nicer if we had two separate |
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. |
One thing to note here: I'm not sure how valuable an |
I've created a zulip thread about this PR. |
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. |
this pr
submodule.orthogonal
to a new file #18706