Zulip Chat Archive
Stream: maths
Topic: pre-inner product spaces
Jireh Loreaux (Dec 02 2021 at 22:41):
@Frédéric Dupuis It doesn't look like we have pre-inner product spaces (i.e., where λ x, ⟪x, x⟫
is not definite but only semi-definite. This will be an essential part of the Gelfand-Naimark-Segal construction of a cyclic representation from a state on a C^*-algebra. For this one needs the Cauchy-Schwarz inequality for pre-inner product spaces and other related results. Any thoughts about how to modify existing code to go about incorporating this?
Jireh Loreaux (Dec 02 2021 at 22:43):
For reference the argument of the GNS construction proceeds as follows: Given a C⋆-algebra A
over 𝕜
, a state φ : A → 𝕜
makes A
itself into a pre-inner product space via ⟪a, b⟫ := φ a⋆ b
. Then one can quotient out by the closed left-ideal with carrier { a : A | φ a⋆ a = 0 }
(maybe it's a right-ideal since I normally think of inner products as being conjugate
linear in the second coordinate, but mathlib
does it in the first). Finally, one completes this inner product space to a Hilbert space H
. Then one obtains a cyclic representation ρ : A → (H →L[𝕜] H)
arising from the natural action of multiplication on H
by elements of A
.
Jireh Loreaux (Dec 02 2021 at 22:51):
Oh, actually, perhaps it's not strictly necessary after all. Instead maybe you can just define an inner product directly on A/I
where I
is the indicated ideal.
Frédéric Dupuis (Dec 02 2021 at 23:50):
It would be nice to avoid it if possible, since currently inner product spaces extend normed spaces, so it can't be easily modified to extend pre-inner product spaces.
Yaël Dillies (Dec 02 2021 at 23:53):
Why can't preinner product spaces extend prenormed spaces?
Frédéric Dupuis (Dec 02 2021 at 23:54):
I mean, it could definitely be done, but it sounds like a lot of work :-)
Frédéric Dupuis (Dec 03 2021 at 00:01):
Maybe it's not too bad: you could probably switch most of the current code with most of the basic lemmas to pre-inner product spaces instead.
Yaël Dillies (Dec 03 2021 at 00:01):
Meh, just a matter of copy-pasteing a file or two :wink:
Yaël Dillies (Dec 03 2021 at 00:01):
Yeah exactly. I could do that in a day or two.
Frédéric Dupuis (Dec 03 2021 at 00:02):
Well, code duplication is exactly what I would want to avoid.
Yaël Dillies (Dec 03 2021 at 00:02):
Some boilerplate code will be duplicated, but lemmas shouldn't.
Frédéric Dupuis (Dec 03 2021 at 00:02):
Right.
Frédéric Dupuis (Dec 03 2021 at 00:04):
Although if we're seriously considering a refactor of inner product spaces, there is also the question of whether we want to base them on bilinear forms. Now we could have inner
be of type E →ₗ⋆[𝕜] E →ₗ[𝕜] 𝕜
.
Yaël Dillies (Dec 03 2021 at 00:05):
Another option is to have inner_hom
a bundled version of inner
.
Frédéric Dupuis (Dec 03 2021 at 00:07):
Yes -- see the big fat TODO right above docs#inner_right :-)
Yaël Dillies (Dec 03 2021 at 00:09):
Either way should be fine for the infoview because everything is buried under notation, right? I wouldn't wish anyone to see an horrendous ⇑(⇑inner x) y
.
Frédéric Dupuis (Dec 03 2021 at 00:11):
I'm still not sure it's worth the trouble though.
Jireh Loreaux (Dec 03 2021 at 01:03):
Yeah, I would say not. I'm betting most of the time you can just take the quotient ahead of time like in this situation with A/I
. If it becomes an issue we can always refactor/add this feature later.
Last updated: Dec 20 2023 at 11:08 UTC