Self-adjoint, skew-adjoint and normal elements of a star additive group #
This file defines selfAdjoint R
(resp. skewAdjoint R
), where R
is a star additive group,
as the additive subgroup containing the elements that satisfy star x = x
(resp. star x = -x
).
This includes, for instance, (skew-)Hermitian operators on Hilbert spaces.
We also define IsStarNormal R
, a Prop
that states that an element x
satisfies
star x * x = x * star x
.
Implementation notes #
- When
R
is aStarModule R₂ R
, thenselfAdjoint R
has a naturalModule (selfAdjoint R₂) (selfAdjoint R)
structure. However, doing this literally would be undesirable since in the main case of interest (R₂ = ℂ
) we wantModule ℝ (selfAdjoint R)
and notModule (selfAdjoint ℂ) (selfAdjoint R)
. We solve this issue by adding the typeclass[TrivialStar R₃]
, of whichℝ
is an instance (registered inData/Real/Basic
), and then add a[Module R₃ (selfAdjoint R)]
instance whenever we have[Module R₃ R] [TrivialStar R₃]
. (Another approach would have been to define[StarInvariantScalars R₃ R]
to express the fact thatstar (x • v) = x • star v
, but this typeclass would have the disadvantage of taking two type arguments.)
TODO #
- Define
IsSkewAdjoint
to matchIsSelfAdjoint
. - Define
fun z x => z * x * star z
(i.e. conjugation byz
) as a monoid action ofR
onR
(similar to the existingConjAct
for groups), and then state the fact thatselfAdjoint R
is invariant under it.
An element is self-adjoint if it is equal to its star.
Equations
Instances For
All elements are self-adjoint when star
is trivial.
Self-adjoint elements commute if and only if their product is self-adjoint.
Functions in a StarHomClass
preserve self-adjoint elements.
The self-adjoint elements of a star additive group, as an additive subgroup.
Equations
Instances For
The skew-adjoint elements of a star additive group, as an additive subgroup.
Equations
Instances For
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Equations
Scalar multiplication of a self-adjoint element by a skew-adjoint element produces a skew-adjoint element.
Scalar multiplication of a skew-adjoint element by a skew-adjoint element produces a self-adjoint element.
Alias of the forward direction of Pi.isSelfAdjoint
.