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.
@[simp]
theorem
HermitianMat.symmMul_zero
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
:
@[simp]
theorem
HermitianMat.zero_symmMul
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
:
@[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)
:
theorem
HermitianMat.symmMul_self
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
[Invertible 2]
:
@[simp]
theorem
HermitianMat.symmMul_one
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
[Invertible 2]
[DecidableEq d]
:
@[simp]
theorem
HermitianMat.one_symmMul
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
[Invertible 2]
[DecidableEq d]
:
@[simp]
theorem
HermitianMat.symmMul_neg_one
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
[Invertible 2]
[DecidableEq d]
:
@[simp]
theorem
HermitianMat.neg_one_symmMul
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
(A : HermitianMat d ๐)
[Invertible 2]
[DecidableEq d]
:
def
HermMul.instCommMagmaHermitianMat
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
:
CommMagma (HermitianMat d ๐)
Equations
- HermMul.instCommMagmaHermitianMat = { mul := HermitianMat.symmMul, mul_comm := โฏ }
Instances For
theorem
HermMul.instIsCommJordanHermitianMat
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
:
IsCommJordan (HermitianMat d ๐)
def
HermMul.instMulZeroClassHermitianMat
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
:
MulZeroClass (HermitianMat d ๐)
Equations
- HermMul.instMulZeroClassHermitianMat = { toMul := HermMul.instCommMagmaHermitianMat.toMul, toZero := SubtractionMonoid.toSubNegZeroMonoid.toNegZeroClass.toZero, zero_mul := โฏ, mul_zero := โฏ }
Instances For
def
HermMul.instMulZeroOneClassHermitianMat
{d : Type u_1}
{๐ : Type u_2}
[Fintype d]
[Field ๐]
[StarRing ๐]
[DecidableEq d]
[Invertible 2]
:
MulZeroOneClass (HermitianMat d ๐)
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 ๐]
:
NonUnitalNonAssocRing (HermitianMat d ๐)
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]
:
NonAssocRing (HermitianMat 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 ๐)