The order of a matrix algebra over an ordered ⋆-ring #
The extension of a bipartite model by a finite register (MIPRE.BipartiteModel.expand) gives each
player the n × n matrices over the player's algebra. The analyses measure with positive operator
valued measures in the players' algebras (MIPRE.POVMIn), which need those algebras to be ordered;
matrices over an abstract ordered ⋆-ring are not, in Mathlib. This file orders them the way a
⋆-algebra is ordered: X ≤ Y when Y - X is a sum of elements Z⋆ Z (MatrixStar.instPartialOrderStar,
with StarOrderedRing holding by construction).
That the relation is antisymmetric needs the entries' ring to be proper (StarProper):
x⋆ x = 0 only for x = 0. Then an element of the cone has nonnegative diagonal entries, and a
vanishing diagonal entry kills its row and its column; so an element of the cone whose negative is
in the cone vanishes. The matrices are then proper again (MatrixStar.instStarProper), so the
construction iterates, which is what registers adjoined to registers need.
C⋆-algebras and their ⋆-subalgebras are proper (StarProper.of_cstarRing,
StarSubalgebra.instStarProper), which covers the algebras of the commuting-operator model; the
complex matrices are (MatrixStar.instStarProperComplex), which covers the tensor-product model. The
order on the complex matrices themselves is Mathlib's positive semidefinite order
(MatrixOrder), not this one: ℂ is not given a StarProper instance, so this construction never
applies to Matrix n n ℂ.
The complex matrices are proper: Xᴴ X = 0 forces X = 0.
The positive cone of the matrix algebra: the sums of elements Z⋆ Z.
Equations
- MIPRE.MatrixStar.cone n R = AddSubmonoid.closure (Set.range fun (Z : Matrix n n R) => star Z * Z)
Instances For
An element of the cone has nonnegative diagonal entries, and a vanishing diagonal entry kills its row and its column.
An element of the cone whose negative is in the cone vanishes.
The order of the matrix algebra over a proper ordered ⋆-ring: X ≤ Y when Y - X is
a sum of elements Z⋆ Z.
Equations
- MIPRE.MatrixStar.instPartialOrderStar = { le := fun (X Y : Matrix n n R) => ∃ p ∈ MIPRE.MatrixStar.cone n R, Y = X + p, le_refl := ⋯, le_trans := ⋯, lt_iff_le_not_ge := ⋯, le_antisymm := ⋯ }
A nonnegative matrix has nonnegative diagonal entries.
The matrices over a proper ordered ⋆-ring are proper.
A nonnegative real multiple of a nonnegative element is nonnegative, in a star-ordered
complex ⋆-algebra: r • z⋆ z = (√r • z)⋆ (√r • z).