Documentation

Mathlib.Algebra.Star.Unitary

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

def unitary (R : Type u_1) [Monoid R] [StarMul R] :

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.

Instances For
    theorem Unitary.mem_iff {R : Type u_1} [Monoid R] [StarMul R] {U : R} :
    U โˆˆ unitary R โ†” star U * U = 1 โˆง U * star U = 1
    @[simp]
    theorem Unitary.star_mul_self_of_mem {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U โˆˆ unitary R) :
    star U * U = 1
    @[simp]
    theorem Unitary.mul_star_self_of_mem {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U โˆˆ unitary R) :
    U * star U = 1
    theorem Unitary.star_mem {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U โˆˆ unitary R) :
    star U โˆˆ unitary R
    @[simp]
    theorem Unitary.star_mem_iff {R : Type u_1} [Monoid R] [StarMul R] {U : R} :
    star U โˆˆ unitary R โ†” U โˆˆ unitary R
    @[implicit_reducible]
    @[simp]
    theorem Unitary.coe_star {R : Type u_1} [Monoid R] [StarMul R] {U : โ†ฅ(unitary R)} :
    โ†‘(star U) = star โ†‘U
    theorem Unitary.coe_star_mul_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
    star โ†‘U * โ†‘U = 1
    theorem Unitary.coe_mul_star_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
    โ†‘U * โ†‘(star U) = 1
    @[simp]
    theorem Unitary.star_mul_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
    star U * U = 1
    @[simp]
    theorem Unitary.mul_star_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
    U * star U = 1
    @[implicit_reducible]
    @[implicit_reducible]
    @[implicit_reducible]
    instance Unitary.instInhabitedSubtypeMemSubmonoidUnitary {R : Type u_1} [Monoid R] [StarMul R] :
    Inhabited โ†ฅ(unitary R)
    theorem Unitary.star_eq_inv {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
    def Unitary.toUnits {R : Type u_1} [Monoid R] [StarMul R] :
    โ†ฅ(unitary R) โ†’* Rหฃ

    The unitary elements embed into the units.

    Instances For
      @[simp]
      theorem Unitary.val_inv_toUnits_apply {R : Type u_1} [Monoid R] [StarMul R] (x : โ†ฅ(unitary R)) :
      @[simp]
      theorem Unitary.val_toUnits_apply {R : Type u_1} [Monoid R] [StarMul R] (x : โ†ฅ(unitary R)) :
      โ†‘(toUnits x) = โ†‘x
      theorem Unitary.toUnits_injective {R : Type u_1} [Monoid R] [StarMul R] :
      Function.Injective โ‡‘toUnits
      theorem IsUnit.mem_unitary_iff_star_mul_self {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : IsUnit u) :
      u โˆˆ unitary R โ†” star u * u = 1
      theorem IsUnit.mem_unitary_iff_mul_star_self {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : IsUnit u) :
      u โˆˆ unitary R โ†” u * star u = 1
      theorem IsUnit.mem_unitary_of_star_mul_self {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : IsUnit u) :
      star u * u = 1 โ†’ u โˆˆ unitary R

      Alias of the reverse direction of IsUnit.mem_unitary_iff_star_mul_self.

      theorem IsUnit.mem_unitary_of_mul_star_self {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : IsUnit u) :
      u * star u = 1 โ†’ u โˆˆ unitary R

      Alias of the reverse direction of IsUnit.mem_unitary_iff_mul_star_self.

      theorem Unitary.isUnit_coe {R : Type u_1} [Monoid R] [StarMul R] {U : โ†ฅ(unitary R)} :
      IsUnit โ†‘U
      theorem Unitary.mul_left_inj {R : Type u_1} [Monoid R] [StarMul R] {x y : R} (U : โ†ฅ(unitary R)) :
      x * โ†‘U = y * โ†‘U โ†” x = y

      For unitary U in a star-monoid R, x * U = y * U if and only if x = y for all x and y in R.

      theorem Unitary.mul_right_inj {R : Type u_1} [Monoid R] [StarMul R] {x y : R} (U : โ†ฅ(unitary R)) :
      โ†‘U * x = โ†‘U * y โ†” x = y

      For unitary U in a star-monoid R, U * x = U * y if and only if x = y for all x and y in R.

      theorem Unitary.mul_inv_mem_iff {G : Type u_2} [Group G] [StarMul G] (a b : G) :
      a * bโปยน โˆˆ unitary G โ†” star a * a = star b * b
      theorem Unitary.inv_mul_mem_iff {G : Type u_2} [Group G] [StarMul G] (a b : G) :
      aโปยน * b โˆˆ unitary G โ†” a * star a = b * star b
      theorem Units.mul_inv_mem_unitary {R : Type u_1} [Monoid R] [StarMul R] (a b : Rหฃ) :
      โ†‘a * โ†‘bโปยน โˆˆ unitary R โ†” star a * a = star b * b

      In a star monoid, the product a * bโปยน of units is unitary if star a * a = star b * b.

      theorem Units.inv_mul_mem_unitary {R : Type u_1} [Monoid R] [StarMul R] (a b : Rหฃ) :
      โ†‘aโปยน * โ†‘b โˆˆ unitary R โ†” a * star a = b * star b

      In a star monoid, the product aโปยน * b of units is unitary if a * star a = b * star b.

      instance Unitary.coe_isStarNormal {R : Type u_1} [Monoid R] [StarMul R] (u : โ†ฅ(unitary R)) :
      IsStarNormal โ†‘u
      theorem isStarNormal_of_mem_unitary {R : Type u_1} [Monoid R] [StarMul R] {u : R} (hu : u โˆˆ unitary R) :
      theorem Unitary.inv_mem {G : Type u_2} [Group G] [StarMul G] {g : G} (hg : g โˆˆ unitary G) :
      def unitarySubgroup (G : Type u_2) [Group G] [StarMul G] :

      unitary as a Subgroup of a group.

      Note the group structure on this type is not defeq to the one on unitary. This situation naturally arises when considering the unitary elements as a subgroup of the group of units of a star monoid.

      Instances For
        @[simp]
        theorem mem_unitarySubgroup_iff {G : Type u_2} [Group G] [StarMul G] {g : G} :
        g โˆˆ unitarySubgroup G โ†” g โˆˆ unitary G
        theorem Unitary.inv_mem_iff {G : Type u_2} [Group G] [StarMul G] {g : G} :
        gโปยน โˆˆ unitary G โ†” g โˆˆ unitary G
        theorem Unitary.smul_mem_of_mem {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] {r : R} {a : A} (hr : r โˆˆ unitary R) (ha : a โˆˆ unitary A) :
        r โ€ข a โˆˆ unitary A
        theorem Unitary.smul_mem {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] (r : โ†ฅ(unitary R)) {a : A} (ha : a โˆˆ unitary A) :
        r โ€ข a โˆˆ unitary A
        @[implicit_reducible]
        instance Unitary.instSMulSubtypeMemSubmonoidUnitary {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] :
        SMul โ†ฅ(unitary R) โ†ฅ(unitary A)
        @[simp]
        theorem Unitary.coe_smul {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] (r : โ†ฅ(unitary R)) (a : โ†ฅ(unitary A)) :
        โ†‘(r โ€ข a) = r โ€ข โ†‘a
        @[implicit_reducible]
        instance Unitary.instMulActionSubtypeMemSubmonoidUnitary {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] :
        MulAction โ†ฅ(unitary R) โ†ฅ(unitary A)
        instance Unitary.instSMulCommClassSubtypeMemSubmonoidUnitary {R : Type u_1} {S : Type u_2} {A : Type u_3} [Monoid R] [Monoid S] [Monoid A] [StarMul R] [StarMul S] [StarMul A] [MulAction R A] [MulAction S A] [StarModule R A] [StarModule S A] [IsScalarTower R A A] [IsScalarTower S A A] [SMulCommClass R A A] [SMulCommClass S A A] [SMulCommClass R S A] :
        SMulCommClass โ†ฅ(unitary R) โ†ฅ(unitary S) โ†ฅ(unitary A)
        instance Unitary.instIsScalarTowerSubtypeMemSubmonoidUnitary {R : Type u_1} {S : Type u_2} {A : Type u_3} [Monoid R] [Monoid S] [Monoid A] [StarMul R] [StarMul S] [StarMul A] [MulAction R S] [MulAction R A] [MulAction S A] [StarModule R S] [StarModule R A] [StarModule S A] [IsScalarTower R A A] [IsScalarTower S A A] [SMulCommClass R A A] [SMulCommClass S A A] [IsScalarTower R S S] [SMulCommClass R S S] [IsScalarTower R S A] :
        IsScalarTower โ†ฅ(unitary R) โ†ฅ(unitary S) โ†ฅ(unitary A)
        theorem Unitary.map_mem {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] {F : Type u_5} [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F) {r : R} (hr : r โˆˆ unitary R) :
        f r โˆˆ unitary S
        def Unitary.map {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) :
        โ†ฅ(unitary R) โ†’โ‹†* โ†ฅ(unitary S)

        The star monoid homomorphism between unitary subgroups induced by a star monoid homomorphism of the underlying star monoids.

        Instances For
          @[simp]
          theorem Unitary.map_coe {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) (aโœ : โ†ฅ(unitary R)) :
          (map f) aโœ = Subtype.map โ‡‘f โ‹ฏ aโœ
          @[simp]
          theorem Unitary.coe_map {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) (x : โ†ฅ(unitary R)) :
          โ†‘((map f) x) = f โ†‘x
          @[simp]
          theorem Unitary.coe_map_star {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) (x : โ†ฅ(unitary R)) :
          โ†‘((map f) (star x)) = f (star โ†‘x)
          theorem Unitary.map_comp {R : Type u_2} {S : Type u_3} {T : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [Monoid T] [StarMul T] (g : S โ†’โ‹†* T) (f : R โ†’โ‹†* S) :
          map (g.comp f) = (map g).comp (map f)
          @[simp]
          theorem Unitary.map_injective {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] {f : R โ†’โ‹†* S} (hf : Function.Injective โ‡‘f) :
          Function.Injective โ‡‘(map f)
          def Unitary.mapEquiv {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ‰ƒโ‹†* S) :
          โ†ฅ(unitary R) โ‰ƒโ‹†* โ†ฅ(unitary S)

          The star monoid isomorphism between unitary subgroups induced by a star monoid isomorphism of the underlying star monoids.

          Instances For
            @[simp]
            theorem Unitary.mapEquiv_apply {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ‰ƒโ‹†* S) (a : โ†ฅ(unitary R)) :
            @[simp]
            theorem Unitary.mapEquiv_symm_apply {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ‰ƒโ‹†* S) (a : โ†ฅ(unitary S)) :
            @[simp]
            theorem Unitary.mapEquiv_symm {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ‰ƒโ‹†* S) :
            @[simp]
            theorem Unitary.mapEquiv_trans {R : Type u_2} {S : Type u_3} {T : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [Monoid T] [StarMul T] (f : R โ‰ƒโ‹†* S) (g : S โ‰ƒโ‹†* T) :
            def unitarySubgroupUnitsEquiv {M : Type u_5} [Monoid M] [StarMul M] :
            โ†ฅ(unitarySubgroup Mหฃ) โ‰ƒ* โ†ฅ(unitary M)

            The unitary subgroup of the units is equivalent to the unitary elements of the monoid.

            Instances For
              @[simp]
              theorem unitarySubgroupUnitsEquiv_apply_coe {M : Type u_5} [Monoid M] [StarMul M] (x : โ†ฅ(unitarySubgroup Mหฃ)) :
              โ†‘(unitarySubgroupUnitsEquiv x) = โ†‘โ†‘x
              @[simp]
              theorem val_unitarySubgroupUnitsEquiv_symm_apply_coe {M : Type u_5} [Monoid M] [StarMul M] (x : โ†ฅ(unitary M)) :
              โ†‘โ†‘(unitarySubgroupUnitsEquiv.symm x) = โ†‘x
              theorem Unitary.mem_iff_star_mul_self {R : Type u_1} [CommMonoid R] [StarMul R] {U : R} :
              U โˆˆ unitary R โ†” star U * U = 1
              theorem Unitary.mem_iff_self_mul_star {R : Type u_1} [CommMonoid R] [StarMul R] {U : R} :
              U โˆˆ unitary R โ†” U * star U = 1
              theorem Unitary.coe_inv {R : Type u_1} [GroupWithZero R] [StarMul R] (U : โ†ฅ(unitary R)) :
              โ†‘Uโปยน = (โ†‘U)โปยน
              theorem Unitary.coe_div {R : Type u_1} [GroupWithZero R] [StarMul R] (Uโ‚ Uโ‚‚ : โ†ฅ(unitary R)) :
              โ†‘(Uโ‚ / Uโ‚‚) = โ†‘Uโ‚ / โ†‘Uโ‚‚
              theorem Unitary.coe_zpow {R : Type u_1} [GroupWithZero R] [StarMul R] (U : โ†ฅ(unitary R)) (z : โ„ค) :
              โ†‘(U ^ z) = โ†‘U ^ z
              @[implicit_reducible]
              instance Unitary.instNegSubtypeMemSubmonoidUnitary {R : Type u_1} [Ring R] [StarRing R] :
              Neg โ†ฅ(unitary R)
              theorem Unitary.coe_neg {R : Type u_1} [Ring R] [StarRing R] (U : โ†ฅ(unitary R)) :
              โ†‘(-U) = -โ†‘U
              @[simp]
              theorem Unitary.spectrum_star_right_conjugate {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [StarMul A] {a : A} {U : โ†ฅ(unitary A)} :
              spectrum R (โ†‘U * a * star โ†‘U) = spectrum R a

              Unitary conjugation preserves the spectrum, star on right.

              @[simp]
              theorem Unitary.spectrum_star_left_conjugate {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [StarMul A] {a : A} {U : โ†ฅ(unitary A)} :
              spectrum R (star โ†‘U * a * โ†‘U) = spectrum R a

              Unitary conjugation preserves the spectrum, star on left.

              Deprecated results #

              @[deprecated Unitary.mem_iff (since := "2025-10-29")]
              theorem unitary.mem_iff {R : Type u_1} [Monoid R] [StarMul R] {U : R} :
              U โˆˆ unitary R โ†” star U * U = 1 โˆง U * star U = 1

              Alias of Unitary.mem_iff.

              @[deprecated Unitary.star_mul_self_of_mem (since := "2025-10-29")]
              theorem unitary.star_mul_self_of_mem {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U โˆˆ unitary R) :
              star U * U = 1

              Alias of Unitary.star_mul_self_of_mem.

              @[deprecated Unitary.mul_star_self_of_mem (since := "2025-10-29")]
              theorem unitary.mul_star_self_of_mem {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U โˆˆ unitary R) :
              U * star U = 1

              Alias of Unitary.mul_star_self_of_mem.

              @[deprecated Unitary.star_mem (since := "2025-10-29")]
              theorem unitary.star_mem {R : Type u_1} [Monoid R] [StarMul R] {U : R} (hU : U โˆˆ unitary R) :
              star U โˆˆ unitary R

              Alias of Unitary.star_mem.

              @[deprecated Unitary.star_mem_iff (since := "2025-10-29")]
              theorem unitary.star_mem_iff {R : Type u_1} [Monoid R] [StarMul R] {U : R} :
              star U โˆˆ unitary R โ†” U โˆˆ unitary R

              Alias of Unitary.star_mem_iff.

              @[deprecated Unitary.coe_star (since := "2025-10-29")]
              theorem unitary.coe_star {R : Type u_1} [Monoid R] [StarMul R] {U : โ†ฅ(unitary R)} :
              โ†‘(star U) = star โ†‘U

              Alias of Unitary.coe_star.

              @[deprecated Unitary.coe_star_mul_self (since := "2025-10-29")]
              theorem unitary.coe_star_mul_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
              star โ†‘U * โ†‘U = 1

              Alias of Unitary.coe_star_mul_self.

              @[deprecated Unitary.coe_mul_star_self (since := "2025-10-29")]
              theorem unitary.coe_mul_star_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
              โ†‘U * โ†‘(star U) = 1

              Alias of Unitary.coe_mul_star_self.

              @[deprecated Unitary.star_mul_self (since := "2025-10-29")]
              theorem unitary.star_mul_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
              star U * U = 1

              Alias of Unitary.star_mul_self.

              @[deprecated Unitary.mul_star_self (since := "2025-10-29")]
              theorem unitary.mul_star_self {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :
              U * star U = 1

              Alias of Unitary.mul_star_self.

              @[deprecated Unitary.star_eq_inv (since := "2025-10-29")]
              theorem unitary.star_eq_inv {R : Type u_1} [Monoid R] [StarMul R] (U : โ†ฅ(unitary R)) :

              Alias of Unitary.star_eq_inv.

              @[deprecated Unitary.star_eq_inv' (since := "2025-10-29")]
              theorem unitary.star_eq_inv' {R : Type u_1} [Monoid R] [StarMul R] :

              Alias of Unitary.star_eq_inv'.

              @[deprecated Unitary.toUnits (since := "2025-10-29")]
              def unitary.toUnits {R : Type u_1} [Monoid R] [StarMul R] :
              โ†ฅ(unitary R) โ†’* Rหฃ

              Alias of Unitary.toUnits.


              The unitary elements embed into the units.

              Instances For
                @[deprecated Unitary.val_toUnits_apply (since := "2025-10-29")]
                theorem unitary.val_toUnits_apply {R : Type u_1} [Monoid R] [StarMul R] (x : โ†ฅ(unitary R)) :
                โ†‘(Unitary.toUnits x) = โ†‘x

                Alias of Unitary.val_toUnits_apply.

                @[deprecated Unitary.toUnits_injective (since := "2025-10-29")]
                theorem unitary.toUnits_injective {R : Type u_1} [Monoid R] [StarMul R] :
                Function.Injective โ‡‘Unitary.toUnits

                Alias of Unitary.toUnits_injective.

                @[deprecated Unitary.mul_left_inj (since := "2025-10-29")]
                theorem unitary.mul_left_inj {R : Type u_1} [Monoid R] [StarMul R] {x y : R} (U : โ†ฅ(unitary R)) :
                x * โ†‘U = y * โ†‘U โ†” x = y

                Alias of Unitary.mul_left_inj.


                For unitary U in a star-monoid R, x * U = y * U if and only if x = y for all x and y in R.

                @[deprecated Unitary.mul_right_inj (since := "2025-10-29")]
                theorem unitary.mul_right_inj {R : Type u_1} [Monoid R] [StarMul R] {x y : R} (U : โ†ฅ(unitary R)) :
                โ†‘U * x = โ†‘U * y โ†” x = y

                Alias of Unitary.mul_right_inj.


                For unitary U in a star-monoid R, U * x = U * y if and only if x = y for all x and y in R.

                @[deprecated Unitary.mul_inv_mem_iff (since := "2025-10-29")]
                theorem unitary.mul_inv_mem_iff {G : Type u_2} [Group G] [StarMul G] (a b : G) :
                a * bโปยน โˆˆ unitary G โ†” star a * a = star b * b

                Alias of Unitary.mul_inv_mem_iff.

                @[deprecated Unitary.inv_mul_mem_iff (since := "2025-10-29")]
                theorem unitary.inv_mul_mem_iff {G : Type u_2} [Group G] [StarMul G] (a b : G) :
                aโปยน * b โˆˆ unitary G โ†” a * star a = b * star b

                Alias of Unitary.inv_mul_mem_iff.

                @[deprecated Unitary.inv_mem (since := "2025-10-29")]
                theorem unitary.inv_mem {G : Type u_2} [Group G] [StarMul G] {g : G} (hg : g โˆˆ unitary G) :

                Alias of Unitary.inv_mem.

                @[deprecated Unitary.smul_mem_of_mem (since := "2025-10-29")]
                theorem unitary.smul_mem_of_mem {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] {r : R} {a : A} (hr : r โˆˆ unitary R) (ha : a โˆˆ unitary A) :
                r โ€ข a โˆˆ unitary A

                Alias of Unitary.smul_mem_of_mem.

                @[deprecated Unitary.smul_mem (since := "2025-10-29")]
                theorem unitary.smul_mem {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] (r : โ†ฅ(unitary R)) {a : A} (ha : a โˆˆ unitary A) :
                r โ€ข a โˆˆ unitary A

                Alias of Unitary.smul_mem.

                @[deprecated Unitary.coe_smul (since := "2025-10-29")]
                theorem unitary.coe_smul {R : Type u_1} {A : Type u_2} [Monoid R] [Monoid A] [MulAction R A] [SMulCommClass R A A] [IsScalarTower R A A] [StarMul R] [StarMul A] [StarModule R A] (r : โ†ฅ(unitary R)) (a : โ†ฅ(unitary A)) :
                โ†‘(r โ€ข a) = r โ€ข โ†‘a

                Alias of Unitary.coe_smul.

                @[deprecated Unitary.map_mem (since := "2025-10-29")]
                theorem unitary.map_mem {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] {F : Type u_5} [FunLike F R S] [StarHomClass F R S] [MonoidHomClass F R S] (f : F) {r : R} (hr : r โˆˆ unitary R) :
                f r โˆˆ unitary S

                Alias of Unitary.map_mem.

                @[deprecated Unitary.map (since := "2025-10-29")]
                def unitary.map {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) :
                โ†ฅ(unitary R) โ†’โ‹†* โ†ฅ(unitary S)

                Alias of Unitary.map.


                The star monoid homomorphism between unitary subgroups induced by a star monoid homomorphism of the underlying star monoids.

                Instances For
                  @[deprecated Unitary.coe_map (since := "2025-10-29")]
                  theorem unitary.coe_map {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) (x : โ†ฅ(unitary R)) :
                  โ†‘((Unitary.map f) x) = f โ†‘x

                  Alias of Unitary.coe_map.

                  @[deprecated Unitary.coe_map_star (since := "2025-10-29")]
                  theorem unitary.coe_map_star {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ†’โ‹†* S) (x : โ†ฅ(unitary R)) :
                  โ†‘((Unitary.map f) (star x)) = f (star โ†‘x)

                  Alias of Unitary.coe_map_star.

                  @[deprecated Unitary.map_id (since := "2025-10-29")]

                  Alias of Unitary.map_id.

                  @[deprecated Unitary.map_comp (since := "2025-10-29")]
                  theorem unitary.map_comp {R : Type u_2} {S : Type u_3} {T : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [Monoid T] [StarMul T] (g : S โ†’โ‹†* T) (f : R โ†’โ‹†* S) :

                  Alias of Unitary.map_comp.

                  @[deprecated Unitary.map_injective (since := "2025-10-29")]
                  theorem unitary.map_injective {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] {f : R โ†’โ‹†* S} (hf : Function.Injective โ‡‘f) :
                  Function.Injective โ‡‘(Unitary.map f)

                  Alias of Unitary.map_injective.

                  @[deprecated Unitary.toUnits_comp_map (since := "2025-10-29")]

                  Alias of Unitary.toUnits_comp_map.

                  @[deprecated Unitary.mapEquiv (since := "2025-10-29")]
                  def unitary.mapEquiv {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ‰ƒโ‹†* S) :
                  โ†ฅ(unitary R) โ‰ƒโ‹†* โ†ฅ(unitary S)

                  Alias of Unitary.mapEquiv.


                  The star monoid isomorphism between unitary subgroups induced by a star monoid isomorphism of the underlying star monoids.

                  Instances For
                    @[deprecated Unitary.mapEquiv_refl (since := "2025-10-29")]

                    Alias of Unitary.mapEquiv_refl.

                    @[deprecated Unitary.mapEquiv_symm (since := "2025-10-29")]
                    theorem unitary.mapEquiv_symm {R : Type u_2} {S : Type u_3} [Monoid R] [StarMul R] [Monoid S] [StarMul S] (f : R โ‰ƒโ‹†* S) :

                    Alias of Unitary.mapEquiv_symm.

                    @[deprecated Unitary.mapEquiv_trans (since := "2025-10-29")]
                    theorem unitary.mapEquiv_trans {R : Type u_2} {S : Type u_3} {T : Type u_4} [Monoid R] [StarMul R] [Monoid S] [StarMul S] [Monoid T] [StarMul T] (f : R โ‰ƒโ‹†* S) (g : S โ‰ƒโ‹†* T) :

                    Alias of Unitary.mapEquiv_trans.

                    @[deprecated Unitary.toMonoidHom_mapEquiv (since := "2025-10-29")]

                    Alias of Unitary.toMonoidHom_mapEquiv.

                    @[deprecated Unitary.mem_iff_star_mul_self (since := "2025-10-29")]
                    theorem unitary.mem_iff_star_mul_self {R : Type u_1} [CommMonoid R] [StarMul R] {U : R} :
                    U โˆˆ unitary R โ†” star U * U = 1

                    Alias of Unitary.mem_iff_star_mul_self.

                    @[deprecated Unitary.mem_iff_self_mul_star (since := "2025-10-29")]
                    theorem unitary.mem_iff_self_mul_star {R : Type u_1} [CommMonoid R] [StarMul R] {U : R} :
                    U โˆˆ unitary R โ†” U * star U = 1

                    Alias of Unitary.mem_iff_self_mul_star.

                    @[deprecated Unitary.coe_inv (since := "2025-10-29")]
                    theorem unitary.coe_inv {R : Type u_1} [GroupWithZero R] [StarMul R] (U : โ†ฅ(unitary R)) :
                    โ†‘Uโปยน = (โ†‘U)โปยน

                    Alias of Unitary.coe_inv.

                    @[deprecated Unitary.coe_div (since := "2025-10-29")]
                    theorem unitary.coe_div {R : Type u_1} [GroupWithZero R] [StarMul R] (Uโ‚ Uโ‚‚ : โ†ฅ(unitary R)) :
                    โ†‘(Uโ‚ / Uโ‚‚) = โ†‘Uโ‚ / โ†‘Uโ‚‚

                    Alias of Unitary.coe_div.

                    @[deprecated Unitary.coe_zpow (since := "2025-10-29")]
                    theorem unitary.coe_zpow {R : Type u_1} [GroupWithZero R] [StarMul R] (U : โ†ฅ(unitary R)) (z : โ„ค) :
                    โ†‘(U ^ z) = โ†‘U ^ z

                    Alias of Unitary.coe_zpow.

                    @[deprecated Unitary.coe_neg (since := "2025-10-29")]
                    theorem unitary.coe_neg {R : Type u_1} [Ring R] [StarRing R] (U : โ†ฅ(unitary R)) :
                    โ†‘(-U) = -โ†‘U

                    Alias of Unitary.coe_neg.

                    @[deprecated Unitary.spectrum_star_right_conjugate (since := "2025-10-20")]
                    theorem unitary.spectrum.unitary_conjugate {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [StarMul A] {a : A} {U : โ†ฅ(unitary A)} :
                    spectrum R (โ†‘U * a * star โ†‘U) = spectrum R a

                    Alias of Unitary.spectrum_star_right_conjugate.


                    Unitary conjugation preserves the spectrum, star on right.

                    @[deprecated Unitary.spectrum_star_left_conjugate (since := "2025-10-20")]
                    theorem unitary.spectrum.unitary_conjugate' {R : Type u_2} {A : Type u_3} [CommSemiring R] [Ring A] [Algebra R A] [StarMul A] {a : A} {U : โ†ฅ(unitary A)} :
                    spectrum R (star โ†‘U * a * โ†‘U) = spectrum R a

                    Alias of Unitary.spectrum_star_left_conjugate.


                    Unitary conjugation preserves the spectrum, star on left.