Documentation

Mathlib.Algebra.Star.LinearMap

Intrinsic star operation on linear maps #

This file defines the star operation on linear maps: (star f) x = star (f (star x)). This corresponds to a map being star-preserving, i.e., a map is self-adjoint iff it is star-preserving.

Implementation notes #

Because there is a global star instance on H →ₗ[𝕜] H (defined as the linear map adjoint on finite-dimensional Hilbert spaces), which is mathematically distinct from this star, we provide this instance on WithConv (E →ₗ[R] F).

The reason we chose WithConv is because together with the convolution product from Mathlib/RingTheory/Coalgebra/Convolution.lean, we get a ⋆-algebra when star (WithConv.toConv comul) = WithConv.toConv (comm ∘ comul).

instance LinearMap.intrinsicStar {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] :

The intrinsic star operation on linear maps E →ₗ F defined by (star f) x = star (f (star x)).

Equations
    @[simp]
    theorem LinearMap.intrinsicStar_apply {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] (f : WithConv (E →ₗ[R] F)) (x : E) :
    (star f).ofConv x = star (f.ofConv (star x))

    The involutive intrinsic star structure on linear maps.

    Equations

      The intrinsic star additive monoid structure on linear maps.

      Equations
        theorem LinearMap.IntrinsicStar.isSelfAdjoint_iff_map_star {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] (f : WithConv (E →ₗ[R] F)) :
        IsSelfAdjoint f ∀ (x : E), f.ofConv (star x) = star (f.ofConv x)

        A linear map is self-adjoint (with respect to the intrinsic star) iff it is star-preserving.

        @[deprecated LinearMap.IntrinsicStar.isSelfAdjoint_iff_map_star (since := "2025-12-09")]
        theorem LinearMap.isSelfAdjoint_iff_map_star {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] (f : WithConv (E →ₗ[R] F)) :
        IsSelfAdjoint f ∀ (x : E), f.ofConv (star x) = star (f.ofConv x)

        Alias of LinearMap.IntrinsicStar.isSelfAdjoint_iff_map_star.


        A linear map is self-adjoint (with respect to the intrinsic star) iff it is star-preserving.

        @[simp]
        theorem IntrinsicStar.StarHomClass.isSelfAdjoint {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] {S : Type u_4} [FunLike S E F] [LinearMapClass S R E F] [StarHomClass S E F] {f : S} :

        A star-preserving linear map is self-adjoint (with respect to the intrinsic star).

        @[deprecated IntrinsicStar.StarHomClass.isSelfAdjoint (since := "2025-12-09")]
        theorem StarHomClass.isSelfAdjoint {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] {S : Type u_4} [FunLike S E F] [LinearMapClass S R E F] [StarHomClass S E F] {f : S} :

        Alias of IntrinsicStar.StarHomClass.isSelfAdjoint.


        A star-preserving linear map is self-adjoint (with respect to the intrinsic star).

        theorem LinearMap.intrinsicStar_zero {R : Type u_1} {E : Type u_2} {F : Type u_3} [Semiring R] [InvolutiveStar R] [AddCommMonoid E] [Module R E] [StarAddMonoid E] [StarModule R E] [AddCommMonoid F] [Module R F] [StarAddMonoid F] [StarModule R F] :
        star 0 = 0
        theorem LinearMap.toMatrix'_intrinsicStar {R : Type u_4} {m : Type u_5} {n : Type u_6} [CommSemiring R] [StarRing R] [Fintype m] [DecidableEq m] (f : WithConv ((mR) →ₗ[R] nR)) :
        theorem LinearMap.IntrinsicStar.isSelfAdjoint_iff_toMatrix' {R : Type u_4} {m : Type u_5} {n : Type u_6} [CommSemiring R] [StarRing R] [Fintype m] [DecidableEq m] (f : WithConv ((mR) →ₗ[R] nR)) :
        IsSelfAdjoint f ∀ (i : n) (j : m), IsSelfAdjoint (toMatrix' f.ofConv i j)

        A linear map f : (m → R) →ₗ (n → R) is self-adjoint (with respect to the intrinsic star) iff its corresponding matrix f.toMatrix' has all self-adjoint elements. So star-preserving maps correspond to their matrices containing only self-adjoint elements.

        theorem Matrix.IntrinsicStar.isSelfAdjoint_toLin'_iff {R : Type u_4} {m : Type u_5} {n : Type u_6} [CommSemiring R] [StarRing R] [Fintype m] [DecidableEq m] (A : Matrix n m R) :
        IsSelfAdjoint (WithConv.toConv (toLin' A)) ∀ (i : n) (j : m), IsSelfAdjoint (A i j)

        Given a matrix A, A.toLin' is self-adjoint (with respect to the intrinsic star) iff all its elements are self-adjoint.

        Intrinsic star operation for (End R E)ˣ.

        Equations
          theorem Module.End.mem_eigenspace_intrinsicStar_iff {R : Type u_4} {V : Type u_5} [CommRing R] [InvolutiveStar R] [AddCommGroup V] [StarAddMonoid V] [Module R V] [StarModule R V] (f : WithConv (End R V)) (α : R) (x : V) :
          @[simp]