Documentation

LeanPool.EuclideanJordan.EuclideanJordan.Order

The order structure on a Euclidean Jordan algebra #

The rest of this library runs on [NonUnitalNonAssocCommRing J] [IsCommJordan J] [Module ℝ J], which carries no order at all. This file supplies one: orderUnitSpaceOfBilinear produces an OrderUnitSpace J for J a finite-dimensional formally real Jordan algebra, with the cone of sums of squares as the positive cone and the Jordan unit as the order unit.

The cone, and why it is sums of squares rather than squares #

0 ≤ x is defined here as "x is a finite sum of Jordan squares" (IsSoS). The alternative — x is a single square — is the right reading, but it is not usable as a definition: closure of the single-square set under addition is not available before the spectral theorem, whereas closure of the sums-of-squares set under addition is a concatenation of index sets. The two readings are then proved equal in isSoS_iff_exists_sq — under the Euclidean hypothesis of the third section, and not before.

Each field of OrderUnitSpace is paid for by exactly one thing:

fieldwhat pays for it
le_refl, le_transthe cone contains 0 and is closed under +
le_antisymmformal reality (eq_zero_of_isSoS_of_isSoS_neg)
add_le_add_leftthe order is a difference condition
smul_nonneg_monor • (y ∘ y) = (√r • y) ∘ (√r • y) for r ≥ 0
ousUnit_nonnegthe unit is idempotent, hence a square
archimedean (order-unit boundedness)the spectral theorem

★ The spectral theorem is what buys order-unit boundedness. spectral_resolution_bilinear writes x = ∑ lam i • q i over an orthogonal idempotent family summing to e, so r • e - x = ∑ (r - lam i) • q i is a sum of nonnegative multiples of idempotents — a sum of squares — for any r dominating every lam i. The bound taken here is ∑ i, |lam i| rather than max lam: it dominates every coefficient, is manifestly nonnegative, and needs no nonemptiness side condition when the resolution is empty.

Shape: a hypothesis-carrying def in bilinear-map vocabulary, not an instance #

Two deliberate choices, both forced by diamonds.

  1. A def, never an instance. A global OrderUnitSpace instance keyed on the Jordan typeclasses would fire on HermitianMat d 𝕜, which already carries a PartialOrder and a Norm from the vendored Loewner structure, putting two of each on the concrete carrier. Consumers write letI := orderUnitSpaceOfBilinear …, exactly as EuclideanJordan/Bridge.lean's ringOfBilinear is used.
  2. Bilinear-map vocabulary. Every statement takes the Jordan product as m : J →ₗ[ℝ] J →ₗ[ℝ] J over [NormedAddCommGroup J] [InnerProductSpace ℝ J], and reaches the ring vocabulary only inside proofs, via ringOfBilinear. Assuming [NonUnitalNonAssocCommRing J] and [NormedAddCommGroup J] together would give two AddCommGroup J instances, which is the diamond EuclideanJordan/Bridge.lean was written to dodge. Only one AddCommGroup is ever in play here, and the produced structure's toNormedAddCommGroup is the ambient instance on the nose (normedAddCommGroup_ofBilinear, proved by rfl).

Scope — what is and is not proved here #

The cone of sums of squares #

Nothing in this section mentions a norm or an inner product; the ambient structure is the additive group and the ℝ-module, which is all the cone algebra needs.

def EuclideanJordan.IsSoS {J : Type u_1} [AddCommGroup J] [Module ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (z : J) :

The positive cone: z is a finite sum of squares of the bilinear product m.

The empty sum is allowed, so 0 is in the cone by k = 0.

Equations
Instances For
    theorem EuclideanJordan.IsSoS.add {J : Type u_1} [AddCommGroup J] [Module ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} {a b : J} (ha : IsSoS m a) (hb : IsSoS m b) :
    IsSoS m (a + b)

    The cone is closed under addition — the whole reason it is stated with sums of squares rather than squares: the witness is a concatenation of index sets.

    theorem EuclideanJordan.isSoS_sum {J : Type u_1} [AddCommGroup J] [Module ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} {ι : Type u_2} (s : Finset ι) (g : ι → J) (h : ∀ i ∈ s, IsSoS m (g i)) :
    IsSoS m (∑ i ∈ s, g i)
    theorem EuclideanJordan.IsSoS.smul {J : Type u_1} [AddCommGroup J] [Module ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} {r : ℝ} (hr : 0 ≤ r) {a : J} (ha : IsSoS m a) :
    IsSoS m (r • a)

    The cone is closed under nonnegative scalars: r • (y ∘ y) = (√r • y) ∘ (√r • y).

    theorem EuclideanJordan.isSoS_of_idem {J : Type u_1} [AddCommGroup J] [Module ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} {c : J} (hc : (m c) c = c) :
    IsSoS m c
    theorem EuclideanJordan.isSoS_smul_idem {J : Type u_1} [AddCommGroup J] [Module ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} {r : ℝ} (hr : 0 ≤ r) {c : J} (hc : (m c) c = c) :
    IsSoS m (r • c)
    theorem EuclideanJordan.eq_zero_of_isSoS_of_isSoS_neg {J : Type u_1} [AddCommGroup J] [Module ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) {a : J} (ha : IsSoS m a) (hna : IsSoS m (-a)) :
    a = 0

    Antisymmetry of the cone, and the only place formal reality is used in this file.

    If a and -a are both sums of squares then the concatenated family has vanishing sum of squares, so formal reality kills every member of it — including every member of a's own family.

    @[instance_reducible]
    def EuclideanJordan.partialOrderOfSoS {J : Type u_1} [AddCommGroup J] [Module ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) :

    The partial order induced by the cone: x ≤ y iff y - x is a sum of squares.

    Equations
    Instances For
      theorem EuclideanJordan.smul_unit_sub_eq {J : Type u_1} [AddCommGroup J] [Module ℝ J] {n : ℕ} {q : Fin n → J} {lam : Fin n → ℝ} {e x : J} (hsum : ∑ i : Fin n, q i = e) (hx : x = ∑ i : Fin n, lam i • q i) (r : ℝ) :
      r • e - x = ∑ i : Fin n, (r - lam i) • q i

      The rearrangement both the order-unit bound and the Archimedean squeeze run on: against a complete orthogonal idempotent family, r • e - x is again diagonal, with coefficients r - lam i.

      The order unit space #

      From here the ambient structure is a finite-dimensional real inner product space carrying the Jordan product as a bundled bilinear map.

      theorem EuclideanJordan.exists_isSoS_smul_unit_sub {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) (x : J) :
      ∃ (r : ℝ), 0 ≤ r ∧ IsSoS m (r • e - x)

      Order-unit boundedness, read off the spectral resolution. This is the field the EJA layer had no way to supply before EuclideanJordan/Spectral.lean.

      @[instance_reducible]
      def EuclideanJordan.orderUnitSpaceOfBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) :

      A Euclidean Jordan algebra is an order unit space, with the cone of sums of squares as the positive cone and the Jordan unit as the order unit.

      A def, not an instance — see the module docstring. The NormedAddCommGroup and NormedSpace parents are filled from the ambient instances, so no second normed structure is created.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        theorem EuclideanJordan.normedAddCommGroup_ofBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) :

        No second normed structure. The produced order unit space's normed group is the ambient one on the nose — the check that the ringOfBilinear diamond stays shut.

        theorem EuclideanJordan.le_ofBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) (x y : J) :
        x ≤ y ↔ IsSoS m (y - x)
        theorem EuclideanJordan.ousUnit_ofBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) :
        theorem EuclideanJordan.isEffect_ofBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) (a : J) :

        The effect space at EJA generality: the interval [0, e], unfolded to the two cone conditions that define it.

        theorem EuclideanJordan.span_isEffect_eq_top_ofBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] [FiniteDimensional ℝ J] (m : J →ₗ[ℝ] J →ₗ[ℝ] J) (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (e : J) (he : ∀ (y : J), (m e) y = y) :

        EuclideanJordan/OrderUnitSpace.lean's spanning theorem, live at EJA generality. It is here as evidence that the abstract effect API genuinely applies to the constructed structure, not merely that the structure typechecks.

        The Euclidean hypothesis: the Archimedean squeeze and the cone of squares #

        The two results below need more than the order: they need the coefficients of a spectral resolution of a positive element to be nonnegative, which no amount of cone algebra supplies. What supplies it is the associative inner product — the "Euclidean" in Euclidean Jordan algebra.

        theorem EuclideanJordan.inner_mul_self_nonneg_of_idem {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hassoc : ∀ (x y z : J), inner ℝ ((m x) y) z = inner ℝ y ((m x) z)) {c : J} (hc : (m c) c = c) (y : J) :
        0 ≤ inner ℝ ((m c) y) y

        L_c is a positive operator for an idempotent c.

        L_c = P₁(c) + ½ P_{1/2}(c) on the nose, and both Peirce projections are idempotent (EuclideanJordan/Peirce.lean's mul_peirceOne feeding peirceOne_of_eigen) and self-adjoint (from self-adjointness of L_c, which is hassoc at x := c). A self-adjoint idempotent P satisfies ⟪P y, y⟫ = ⟪P y, P y⟫ ≥ 0, so the sum is nonnegative.

        ★ The eigenvalue trichotomy is never invoked, and no functional calculus is needed: the two projections are polynomials in L_c that the tree already carries as linear maps.

        theorem EuclideanJordan.inner_left_coeff {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} (hassoc : ∀ (x y z : J), inner ℝ ((m x) y) z = inner ℝ y ((m x) z)) {n : ℕ} {q : Fin n → J} {lam : Fin n → ℝ} (hidem : ∀ (i : Fin n), (m (q i)) (q i) = q i) (horth : ∀ (i j : Fin n), i ≠ j → (m (q i)) (q j) = 0) {x : J} (hx : x = ∑ i : Fin n, lam i • q i) (k : Fin n) :
        inner ℝ (q k) x = lam k * inner ℝ (q k) (q k)

        A sum of squares has nonnegative spectral coefficients.

        Pairing against q k reads the coefficient off — the idempotents are pairwise orthogonal for the inner product because hassoc turns ⟪q k, q i⟫ into ⟪q k, q k ∘ q i⟫ — while pairing against the sum-of-squares presentation is nonnegative term by term, each term being ⟪L_{q k} f j, f j⟫.

        This is the fact that both isArchimedean_ofBilinear and isSoS_iff_exists_sq reduce to, and it is the only content in this file that the order axioms themselves do not supply.

        theorem EuclideanJordan.nonneg_coeff_of_inner_nonneg {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} (hassoc : ∀ (x y z : J), inner ℝ ((m x) y) z = inner ℝ y ((m x) z)) {n : ℕ} {q : Fin n → J} {lam : Fin n → ℝ} (hidem : ∀ (i : Fin n), (m (q i)) (q i) = q i) (horth : ∀ (i j : Fin n), i ≠ j → (m (q i)) (q j) = 0) {x : J} (hx : x = ∑ i : Fin n, lam i • q i) {k : Fin n} (hk : q k ≠ 0) (hnn : 0 ≤ inner ℝ (q k) x) :
        0 ≤ lam k

        A coefficient is nonnegative as soon as its idempotent pairs nonnegatively with the element — the shape shared by nonneg_coeff_of_isSoS (where the pairing is nonnegative because x is a sum of squares) and by hermitian_nonneg_le_isSoS (where it is nonnegative because x is positive semidefinite).

        theorem EuclideanJordan.nonneg_coeff_of_isSoS {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hassoc : ∀ (x y z : J), inner ℝ ((m x) y) z = inner ℝ y ((m x) z)) {n : ℕ} {q : Fin n → J} {lam : Fin n → ℝ} (hidem : ∀ (i : Fin n), (m (q i)) (q i) = q i) (horth : ∀ (i j : Fin n), i ≠ j → (m (q i)) (q j) = 0) {x : J} (hx : x = ∑ i : Fin n, lam i • q i) (hsos : IsSoS m x) {k : Fin n} (hk : q k ≠ 0) :
        0 ≤ lam k
        theorem EuclideanJordan.isArchimedean_ofBilinear {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} [FiniteDimensional ℝ J] (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (hassoc : ∀ (x y z : J), inner ℝ ((m x) y) z = inner ℝ y ((m x) z)) (e : J) (he : ∀ (y : J), (m e) y = y) :

        The genuine Archimedean property, in the sense EuclideanJordan/OrderUnitSpace.lean's IsArchimedean carries: an element under every positive multiple of the unit is nonpositive.

        This is strictly stronger than the class's archimedean field, which is order-unit boundedness only. ★ It is proved here at EJA generality; before this, H_n(𝕜) was the only carrier known to satisfy it, so results assuming IsArchimedean had a single model.

        theorem EuclideanJordan.isSoS_iff_exists_sq {J : Type u_1} [NormedAddCommGroup J] [InnerProductSpace ℝ J] {m : J →ₗ[ℝ] J →ₗ[ℝ] J} [FiniteDimensional ℝ J] (hcomm : ∀ (x y : J), (m x) y = (m y) x) (hjordan : ∀ (a b : J), (m ((m a) b)) ((m a) a) = (m a) ((m b) ((m a) a))) (hfr : ∀ (k : ℕ) (f : Fin k → J), ∑ i : Fin k, (m (f i)) (f i) = 0 → ∀ (i : Fin k), f i = 0) (hassoc : ∀ (x y z : J), inner ℝ ((m x) y) z = inner ℝ y ((m x) z)) (e : J) (he : ∀ (y : J), (m e) y = y) (x : J) :
        IsSoS m x ↔ ∃ (y : J), x = (m y) y

        The cone of the order is the cone of squares. The two readings of 0 ≤ x — a sum of squares, and a single square — coincide, so a development that defines positivity as "is a square" agrees with the one built here; that agreement is a theorem rather than a stipulation.

        The forward direction is the whole content: a sum of squares has nonnegative coefficients, so ∑ √(lam i) • q i squares back to it by orthogonality.

        A live carrier for the hypothesis bundle #

        H_n(𝕜) satisfies every hypothesis above, including the associative-inner-product hypothesis this file introduces, so nothing in the two previous sections is conditional on a premise with no carrier. The construction is applied to it at the end; the resulting order unit space is a second one on H_n(𝕜), kept as a def and never an instance, and it is not proved equal to the vendored Loewner structure (see the module docstring).

        theorem EuclideanJordan.hermitian_jordan_assoc {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A B C : HermitianMat n 𝕜) :
        inner ℝ (((jordanBilinG 𝕜) A) B) C = inner ℝ B (((jordanBilinG 𝕜) A) C)

        The Euclidean hypothesis, live on H_n(𝕜). Both sides are ½(Tr[ABC] + Tr[BAC]) after Matrix.trace_mul_cycle.

        theorem EuclideanJordan.hermitian_jordan_comm {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A B : HermitianMat n 𝕜) :
        ((jordanBilinG 𝕜) A) B = ((jordanBilinG 𝕜) B) A

        The two facts below are the only ones that need HermMul's scoped multiplicative instances (CommMagma, MulZeroClass, IsCommJordan), so the open is confined to this block rather than covering the whole section.

        ★ That confinement is hygiene, not a fix, and the record should say so. It was made while chasing an elaboration blow-up in hermitian_isArchimedean_ofEJA and hermitian_isSoS_iff_exists_sq on the theory that a second multiplicative structure in scope was making unification search a diamond. It changed nothing — the timeout survived it unaltered, as did a second theory that the mismatch between HermitianMat.instAddCommGroup and NormedAddCommGroup.toAddCommGroup was being paid for (that defeq costs about a second in isolation). The real cause is recorded at the two call sites below.

        theorem EuclideanJordan.hermitian_jordan_id {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A B : HermitianMat n 𝕜) :
        ((jordanBilinG 𝕜) (((jordanBilinG 𝕜) A) B)) (((jordanBilinG 𝕜) A) A) = ((jordanBilinG 𝕜) A) (((jordanBilinG 𝕜) B) (((jordanBilinG 𝕜) A) A))
        theorem EuclideanJordan.hermitian_formallyReal {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (k : ℕ) (f : Fin k → HermitianMat n 𝕜) (h : ∑ i : Fin k, ((jordanBilinG 𝕜) (f i)) (f i) = 0) (i : Fin k) :
        f i = 0
        theorem EuclideanJordan.hermitian_jordan_unit {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A : HermitianMat n 𝕜) :
        ((jordanBilinG 𝕜) 1) A = A

        ★★ Why every application below pins (J := HermitianMat n 𝕜) explicitly.

        Without it these three declarations exhausted 200 000 heartbeats, and raising the budget was the wrong move: with maxHeartbeats 0 the elaboration ran for two minutes and then failed, having defaulted J := ℕ off the bare numeral 1 supplied for the explicit e : J. The profiler names the cost exactly. With J unsolved, the m argument stays a metavariable through the argument list, so checking hermitian_formallyReal becomes the higher-order problem

        ∑ i, (?m (f i)) (f i) =?= ∑ i, ((jordanBilinG ?n) (f i)) (f i),

        and isDefEq unfolds Finset.sum through Multiset.foldr, Quot.liftOn and List.map hunting for a match — thirteen seconds, and it fails. Pinning J makes the same unification first-order and the whole file elaborates in about six seconds.

        The transferable rule: an isDefEq timeout under a Finset.sum usually means a metavariable in the function position, not a budget that is too small. Ascribing the numeral ((1 : HermitianMat n 𝕜)) is necessary too but not sufficient — it removes the wrong ℕ answer without removing the search.

        @[instance_reducible]
        noncomputable def EuclideanJordan.hermitianOrderUnitOfEJA {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] :

        The construction, applied to H_n(𝕜). Its only job is to witness that the hypothesis bundle of orderUnitSpaceOfBilinear is inhabited.

        Equations
        Instances For

          The Archimedean squeeze holds for the constructed structure on H_n(𝕜), so isArchimedean_ofBilinear is not vacuous either.

          theorem EuclideanJordan.hermitian_isSoS_iff_exists_sq {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A : HermitianMat n 𝕜) :
          IsSoS (jordanBilinG 𝕜) A ↔ ∃ (B : HermitianMat n 𝕜), A = ((jordanBilinG 𝕜) B) B

          And the cone of the constructed order is the cone of squares on H_n(𝕜).

          The constructed order is the Loewner order on H_n(𝕜) #

          Fidelity, not inhabitedness: the abstract cone could have been inhabited and still been the wrong cone. Both containments are below.

          theorem EuclideanJordan.hermitian_sq_nonneg {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (B : HermitianMat n 𝕜) :
          0 ≤ ((jordanBilinG 𝕜) B) B

          A Jordan square in H_n(𝕜) is positive semidefinite: the Jordan square is the matrix square, and M M = Mᴴ M for M Hermitian.

          theorem EuclideanJordan.hermitian_idem_nonneg {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] {C : HermitianMat n 𝕜} (hC : ((jordanBilinG 𝕜) C) C = C) :
          0 ≤ C

          A Jordan idempotent is therefore positive semidefinite: it is its own square.

          theorem EuclideanJordan.hermitian_isSoS_le_nonneg {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] {A : HermitianMat n 𝕜} (h : IsSoS (jordanBilinG 𝕜) A) :
          0 ≤ A

          Sums of squares are positive semidefinite.

          theorem EuclideanJordan.hermitian_nonneg_le_isSoS {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] {A : HermitianMat n 𝕜} (hA : 0 ≤ A) :

          The containment that needed the Euclidean hypothesis: a positive semidefinite matrix is a sum of squares. Its spectral idempotents are themselves positive semidefinite, so ⟪q i, A⟫ ≥ 0 by HermitianMat.inner_ge_zero, and inner_left_coeff reads that off as lam i ≥ 0.

          theorem EuclideanJordan.hermitian_isSoS_iff_nonneg {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A : HermitianMat n 𝕜) :
          IsSoS (jordanBilinG 𝕜) A ↔ 0 ≤ A

          The abstract cone is the Loewner cone on H_n(𝕜).

          theorem EuclideanJordan.hermitian_le_ofEJA_iff {n : Type u_1} [Fintype n] [DecidableEq n] {𝕜 : Type u_2} [RCLike 𝕜] (A B : HermitianMat n 𝕜) :
          A ≤ B ↔ A ≤ B

          The constructed order relation is the Loewner order relation.