Zulip Chat Archive
Stream: mathlib4
Topic: Cartesian product of two Hilbert spaces
Zhang Ruichong (Aug 31 2023 at 13:59):
It is well known that if A and B a two Hilbert spaces, then A × B is a Hilbert space. So I want to prove this:
import Mathlib.LinearAlgebra.FiniteDimensional
import Mathlib.Analysis.InnerProductSpace.PiL2
import Mathlib.Analysis.InnerProductSpace.Dual
import Mathlib.Analysis.InnerProductSpace.Basic
open InnerProductSpace
noncomputable section
variable {A B : Type _} [NormedAddCommGroup A] [NormedAddCommGroup B]
variable [InnerProductSpace ℝ A] [InnerProductSpace ℝ B]
def prod_inner (x y : A × B) : ℝ :=
inner x.1 y.1 + inner x.2 y.2
instance prod_inner_product_space :
InnerProductSpace ℝ (A × B) where
inner := prod_inner
I'm completely stuck on this, I haven't found any relevant lemmas in Mathlib yet.
Do I really need to construct it by myself?
Yaël Dillies (Aug 31 2023 at 14:00):
See #6136
Anatole Dedecker (Aug 31 2023 at 14:04):
To explain a bit more: this issue has been discussed several times already, but the main problem is that, as currently stated, this is false. The reason is that, in mathlib, the default norm on A × B
is , not . And in general this norm is not a Hilbert space norm at all.
Anatole Dedecker (Aug 31 2023 at 14:06):
The solution will be to use WithLp 2 (A × B)
, which will soon have the structure you are looking for
Anatole Dedecker (Aug 31 2023 at 14:06):
Zhang Ruichong (Aug 31 2023 at 14:15):
Anatole Dedecker said:
The solution will be to use
WithLp 2 (A × B)
, which will soon have the structure you are looking for
Did you mean that it hasn't been implemented, and I have to wait for some time before implementation?
Yaël Dillies (Aug 31 2023 at 14:17):
Yes, the implementation is here, which is not part of mathlib yet.
Last updated: Dec 20 2023 at 11:08 UTC