Documentation

QuantumInfo.ForMathlib.IsMaximalSelfAdjoint

Maximal self-adjoint subrings #

This file introduces the IsMaximalSelfAdjoint R α typeclass, which records that the TrivialStar ring R carries the self-adjoint part of a star ring α. It bundles an additive, R-linear map selfadjMap : α →+ R that inverts algebraMap R α on self-adjoint elements. The guiding example is R = ℝ, α = ℂ: it lets a quantity such as the trace of a Hermitian matrix be valued in instead of , reflecting that physical observables are self-adjoint and take real expectation values.

class IsMaximalSelfAdjoint (R : outParam (Type u_1)) (α : Type u_2) [Star α] [Star R] [CommSemiring R] [Semiring α] [TrivialStar R] [Algebra R α] :
Type (max u_1 u_2)

IsMaximalSelfAdjoint R α witnesses that R is the maximal TrivialStar subring of the star ring α, via an additive map selfadjMap : α →+ R collecting the self-adjoint part of each element. This lets HermitianMat.trace return 𝕜 when 𝕜 already has a trivial star, and the "clean" underlying type otherwise, e.g. when the input field is .

Instances
    @[implicit_reducible]

    Every TrivialStar CommSemiring is its own maximal self adjoints.

    Equations
    @[implicit_reducible]

    ℝ is the maximal self adjoint elements over RCLike

    Equations