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
  • One or more equations did not get rendered due to their size.
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]