Physlib Documentation

QuantumInfo.ForMathlib.HermitianMat.Jordan

Hermitian matrices have a Jordan algebra structure given by A * B := 2โปยน โ€ข (A.toMat * B.toMat + B.toMat * A.toMat). We call this operation HermitianMat.symmMul, but it's available as * multiplication scoped under HermMul. When A and B commute, this reduces to standard matrix multiplication.

def HermitianMat.symmMul {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A B : HermitianMat d ๐•œ) :
HermitianMat d ๐•œ
Equations
Instances For
    theorem HermitianMat.symmMul_comm {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A B : HermitianMat d ๐•œ) :
    A.symmMul B = B.symmMul A
    @[simp]
    theorem HermitianMat.symmMul_zero {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) :
    A.symmMul 0 = 0
    @[simp]
    theorem HermitianMat.zero_symmMul {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) :
    symmMul 0 A = 0
    theorem HermitianMat.symmMul_toMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A B : HermitianMat d ๐•œ) :
    โ†‘(A.symmMul B) = 2โปยน โ€ข (โ†‘A * โ†‘B + โ†‘B * โ†‘A)
    @[simp]
    theorem HermitianMat.symmMul_of_commute {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] {A B : HermitianMat d ๐•œ} [Invertible 2] (hAB : Commute โ†‘A โ†‘B) :
    โ†‘(A.symmMul B) = โ†‘A * โ†‘B
    theorem HermitianMat.symmMul_self {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) [Invertible 2] :
    โ†‘(A.symmMul A) = โ†‘A * โ†‘A
    @[simp]
    theorem HermitianMat.symmMul_one {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) [Invertible 2] [DecidableEq d] :
    A.symmMul 1 = A
    @[simp]
    theorem HermitianMat.one_symmMul {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) [Invertible 2] [DecidableEq d] :
    symmMul 1 A = A
    @[simp]
    theorem HermitianMat.symmMul_neg_one {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) [Invertible 2] [DecidableEq d] :
    A.symmMul (-1) = -A
    @[simp]
    theorem HermitianMat.neg_one_symmMul {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A : HermitianMat d ๐•œ) [Invertible 2] [DecidableEq d] :
    (-1).symmMul A = -A
    def HermMul.instCommMagmaHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] :
    CommMagma (HermitianMat d ๐•œ)
    Equations
    Instances For
      theorem HermMul.mul_eq_symmMul {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] (A B : HermitianMat d ๐•œ) :
      A * B = A.symmMul B
      theorem HermMul.instIsCommJordanHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] :
      def HermMul.instMulZeroClassHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] :
      Equations
      Instances For
        def HermMul.instMulZeroOneClassHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] [DecidableEq d] [Invertible 2] :
        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def HermMul.instNonUnitalNonAssocRingHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            def HermMul.instNonAssocRingHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [Field ๐•œ] [StarRing ๐•œ] [Invertible 2] [DecidableEq d] :
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              theorem HermMul.instIsScalarTowerRealHermitianMat {d : Type u_1} {๐•œ : Type u_2} [Fintype d] [RCLike ๐•œ] :
              IsScalarTower โ„ (HermitianMat d ๐•œ) (HermitianMat d ๐•œ)