Zulip Chat Archive
Stream: Is there code for X?
Topic: Positive-semidefinite linear operator
Iván Renison (Apr 15 2025 at 12:59):
Hi, I was trying to have positive-semidefinite linear operators for an 𝕜 : RCLike
.
I found the definition Matrix.PosSemidef
, but it requires PartialOrder 𝕜
.
Because of that I thought in using linear maps, and I came up with this definition:
def isPosSemidef (f : E → E) (h : IsLinearMap 𝕜 f) : Prop :=
∀ (x : E), RCLike.im (inner x (f x) : 𝕜) = 0 ∧ 0 ≤ RCLike.re (inner x (f x) : 𝕜)
But I was not able to find anything similar in Mathlib, do you now if it is somewhere? And if not, would it be a good addition?
Eric Wieser (Apr 15 2025 at 13:12):
docs#ContinuousLinearMap.IsPositive is close
Eric Wieser (Apr 15 2025 at 13:12):
Iván Renison said:
but it requires
PartialOrder 𝕜
.
open scoped ComplexOrder
Iván Renison (Apr 15 2025 at 13:15):
Thanks
Notification Bot (Apr 15 2025 at 13:15):
Iván Renison has marked this topic as resolved.
Jireh Loreaux (Apr 15 2025 at 14:13):
Note we have docs#ContinuousLinearMap.instLoewnerPartialOrder
Notification Bot (Apr 21 2025 at 16:24):
Iván Renison has marked this topic as unresolved.
Iván Renison (Apr 21 2025 at 16:24):
Eric Wieser said:
docs#ContinuousLinearMap.IsPositive is close
And do you now if there si something for LinearMap
instead of ContinuousLinearMap
?
I think it is possible to define like this:
def LinearMap.aux_IsPositive (T : E →ₗ[𝕜] E) : Prop :=
IsSelfAdjoint T ∧ ∀ x, 0 ≤ RCLike.re (@inner 𝕜 _ _ (T x) x)
But I can not see it in Mathlib, so maybe it's wrong
Jireh Loreaux (Apr 21 2025 at 17:36):
It's possible that from a discussion long ago I advocated against this, and that's why we don't have it.
Jireh Loreaux (Apr 21 2025 at 17:36):
But I wouldn't advocate against it now necessarily.
Iván Renison (Apr 22 2025 at 12:56):
And would you encourage me to add it now? Or better let it how it is
Eric Wieser (Apr 22 2025 at 13:03):
Jireh Loreaux said:
It's possible that from a discussion long ago I advocated against this, and that's why we don't have it.
I think there was a PR adding this, possibly in mathlib3
Eric Wieser (Apr 22 2025 at 13:04):
We should probably find it and read over the old discussions before rehashing it
Iván Renison (Apr 22 2025 at 13:40):
I'm not being able to find it
Eric Wieser (Apr 22 2025 at 16:05):
Iván Renison (Apr 24 2025 at 07:42):
What I understand from that conversation is that the idea was to make a definition of isPositive
for a general Star
algebra, defining it as x
is positive if there exists y
such that x = star y * y
. However, it seems that this hasn't been added yet
Jireh Loreaux (Apr 24 2025 at 12:44):
I think it's okay to have LinearMap.IsPositive
.
Eric Wieser (Apr 24 2025 at 12:53):
I think when we had this discussion previously, StarOrderedRing wasn't as developed; should we instead just put a global order on linear maps in an inner product space?
Iván Renison (Apr 25 2025 at 14:58):
That looks like a good idea to reuse the theorems
Iván Renison (Apr 25 2025 at 15:00):
But if we do that, I think we should also do it for ContinuousLinearMap
also
Jireh Loreaux (Apr 25 2025 at 15:33):
We already have it for ContinuousLinearMap
, but the partial order is defined in terms of ContinuousLinearMap.IsPositive
. This is partly why I'm suggesting having the predicate isn't so crazy anymore.
Jireh Loreaux (Apr 25 2025 at 15:34):
docs#ContinuousLinearMap.instLoewnerPartialOrder
Jireh Loreaux (Apr 25 2025 at 15:34):
docs#ContinuousLinearMap.instStarOrderedRing
Jireh Loreaux (Apr 25 2025 at 15:38):
Note that we only have the latter over ℂ
because we don't yet have a theory of real C⋆-algebras from which we can easily construct the square root. It would be possible to hand roll the square root by embedding H →L[ℝ] H
into its complexification and then proving that for a T : H →L[ℝ] H
selfadjoint, the closed ℝ
-star subalgebra generated by T
remains within the image of H →L[ℝ] H
embedded within the complexification, and hence the square root of T
(if T ≥ 0
) lies in H →L[ℝ] H
. But I think this is too much work to pursue and we should instead simply develop real C⋆-algebras. It's on my agenda, but not for a long time, since so much of the real theory depends upon the complex theory.
Last updated: May 02 2025 at 03:31 UTC