Von Neumann algebras #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We give the "abstract" and "concrete" definitions of a von Neumann algebra. We still have a major project ahead of us to show the equivalence between these definitions!
An abstract von Neumann algebra wstar_algebra M
is a C^* algebra with a Banach space predual,
per Sakai (1971).
A concrete von Neumann algebra von_neumann_algebra H
(where H
is a Hilbert space)
is a *-closed subalgebra of bounded operators on H
which is equal to its double commutant.
We'll also need to prove the von Neumann double commutant theorem, that the concrete definition is equivalent to a *-closed subalgebra which is weakly closed.
- exists_predual : ∃ (X : Type ?) [_inst_1_1 : normed_add_comm_group X] [_inst_2 : normed_space ℂ X] [_inst_3 : complete_space X], nonempty (normed_space.dual ℂ X ≃ₗᵢ⋆[ℂ] M)
Sakai's definition of a von Neumann algebra as a C^* algebra with a Banach space predual.
So that we can unambiguously talk about these "abstract" von Neumann algebras
in parallel with the "concrete" ones (weakly closed *-subalgebras of B(H)),
we name this definition wstar_algebra
.
Note that for now we only assert the mere existence of predual, rather than picking one. This may later prove problematic, and need to be revisited. Picking one may cause problems with definitional unification of different instances. One the other hand, not picking one means that the weak-* topology (which depends on a choice of predual) must be defined using the choice, and we may be unhappy with the resulting opaqueness of the definition.
Instances for wstar_algebra
- wstar_algebra.has_sizeof_inst
- carrier : set (H →L[ℂ] H)
- mul_mem' : ∀ {a b : H →L[ℂ] H}, a ∈ self.carrier → b ∈ self.carrier → a * b ∈ self.carrier
- one_mem' : 1 ∈ self.carrier
- add_mem' : ∀ {a b : H →L[ℂ] H}, a ∈ self.carrier → b ∈ self.carrier → a + b ∈ self.carrier
- zero_mem' : 0 ∈ self.carrier
- algebra_map_mem' : ∀ (r : ℂ), ⇑(algebra_map ℂ (H →L[ℂ] H)) r ∈ self.carrier
- star_mem' : ∀ {a : H →L[ℂ] H}, a ∈ self.carrier → has_star.star a ∈ self.carrier
- centralizer_centralizer' : self.carrier.centralizer.centralizer = self.carrier
The double commutant definition of a von Neumann algebra, as a *-closed subalgebra of bounded operators on a Hilbert space, which is equal to its double commutant.
Note that this definition is parameterised by the Hilbert space
on which the algebra faithfully acts, as is standard in the literature.
See wstar_algebra
for the abstract notion (a C^*-algebra with Banach space predual).
Note this is a bundled structure, parameterised by the Hilbert space H
,
rather than a typeclass on the type of elements.
Thus we can't say that the bounded operators H →L[ℂ] H
form a von_neumann_algebra
(although we will later construct the instance wstar_algebra (H →L[ℂ] H)
),
and instead will use ⊤ : von_neumann_algebra H
.
Instances for von_neumann_algebra
Consider a von Neumann algebra acting on a Hilbert space H
as a *-subalgebra of H →L[ℂ] H
.
(That is, we forget that it is equal to its double commutant
or equivalently that it is closed in the weak and strong operator topologies.)
Equations
Equations
The centralizer of a von_neumann_algebra
, as a von_neumann_algebra
.
Equations
- S.commutant = {carrier := ↑S.centralizer continuous_linear_map.has_mul, mul_mem' := _, one_mem' := _, add_mem' := _, zero_mem' := _, algebra_map_mem' := _, star_mem' := _, centralizer_centralizer' := _}