Unitary elements of a star monoid #
This file defines unitary R
, where R
is a star monoid, as the submonoid made of the elements
that satisfy star U * U = 1
and U * star U = 1
, and these form a group.
This includes, for instance, unitary operators on Hilbert spaces.
See also Matrix.UnitaryGroup
for specializations to unitary (Matrix n n R)
.
Tags #
unitary
In a *-monoid, unitary R
is the submonoid consisting of all the elements U
of
R
such that star U * U = 1
and U * star U = 1
.
Equations
Instances For
instance
unitary.instStarSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitary
{R : Type u_1}
[Monoid R]
[StarMul R]
:
instance
unitary.instGroupSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitary
{R : Type u_1}
[Monoid R]
[StarMul R]
:
Equations
- unitary.instGroupSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitary = let __src := Submonoid.toMonoid (unitary R); Group.mk ⋯
instance
unitary.instInvolutiveStarSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitary
{R : Type u_1}
[Monoid R]
[StarMul R]
:
InvolutiveStar ↥(unitary R)
Equations
- unitary.instInvolutiveStarSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitary = InvolutiveStar.mk ⋯
instance
unitary.instStarMulSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitaryMul
{R : Type u_1}
[Monoid R]
[StarMul R]
:
Equations
- unitary.instStarMulSubtypeMemSubmonoidToMulOneClassInstMembershipInstSetLikeSubmonoidUnitaryMul = StarMul.mk ⋯
The unitary elements embed into the units.
Equations
Instances For
theorem
unitary.toUnits_injective
{R : Type u_1}
[Monoid R]
[StarMul R]
:
Function.Injective ⇑unitary.toUnits
instance
unitary.coe_isStarNormal
{R : Type u_1}
[Monoid R]
[StarMul R]
(u : ↥(unitary R))
:
IsStarNormal ↑u
Equations
- ⋯ = ⋯
@[simp]
theorem
unitary.map_apply
{F : Type u_2}
{R : Type u_3}
{S : Type u_4}
[Monoid R]
[StarMul R]
[Monoid S]
[StarMul S]
[FunLike F R S]
[StarHomClass F R S]
[MonoidHomClass F R S]
(f : F)
:
∀ (a : ↥(unitary R)), (unitary.map f) a = Subtype.map ⇑f ⋯ a
def
unitary.map
{F : Type u_2}
{R : Type u_3}
{S : Type u_4}
[Monoid R]
[StarMul R]
[Monoid S]
[StarMul S]
[FunLike F R S]
[StarHomClass F R S]
[MonoidHomClass F R S]
(f : F)
:
The group homomorphism between unitary subgroups of star monoids induced by a star homomorphism
Equations
- unitary.map f = { toOneHom := { toFun := Subtype.map ⇑f ⋯, map_one' := ⋯ }, map_mul' := ⋯ }
Instances For
theorem
unitary.toUnits_comp_map
{F : Type u_2}
{R : Type u_3}
{S : Type u_4}
[Monoid R]
[StarMul R]
[Monoid S]
[StarMul S]
[FunLike F R S]
[StarHomClass F R S]
[MonoidHomClass F R S]
(f : F)
:
MonoidHom.comp unitary.toUnits (unitary.map f) = MonoidHom.comp (Units.map ↑f) unitary.toUnits
instance
unitary.instCommGroupSubtypeMemSubmonoidToMulOneClassToMonoidInstMembershipInstSetLikeSubmonoidUnitary
{R : Type u_1}
[CommMonoid R]
[StarMul R]
:
Equations
- One or more equations did not get rendered due to their size.
theorem
unitary.coe_div
{R : Type u_1}
[GroupWithZero R]
[StarMul R]
(U₁ : ↥(unitary R))
(U₂ : ↥(unitary R))
:
instance
unitary.instNegSubtypeMemSubmonoidToMulOneClassToMonoidToMonoidWithZeroToSemiringInstMembershipInstSetLikeSubmonoidUnitaryToStarMulToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRing
{R : Type u_1}
[Ring R]
[StarRing R]
:
Equations
- One or more equations did not get rendered due to their size.
instance
unitary.instHasDistribNegSubtypeMemSubmonoidToMulOneClassToMonoidToMonoidWithZeroToSemiringInstMembershipInstSetLikeSubmonoidUnitaryToStarMulToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingMul
{R : Type u_1}
[Ring R]
[StarRing R]
:
HasDistribNeg ↥(unitary R)
Equations
- One or more equations did not get rendered due to their size.