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