Products of commuting positive operators #
The product of two commuting positive operators is positive.
(Without the commutation hypothesis this is false.) This is Mathlib's
Commute.mul_nonneg, restated with the hypotheses in the order in which the
proof uses them.
If 0 ≤ x ≤ 1 then x² ≤ x: indeed x - x² = x (1 - x) is a product of
commuting positive operators.
If 0 ≤ s ≤ 1 then (1 - s)² ≤ 1 - s², because
(1 - s²) - (1 - s)² = 2 (s - s²) = 2 s (1 - s) ≥ 0.
This is the operator inequality used in the assembly step of the paper.
A convenience restatement of sub_nonneg: an operator inequality is the
positivity of the difference.
A convenience restatement of sub_nonneg in the other direction.
Conjugation by a fixed operator preserves positivity.
Compression by a commuting projection #
If q is a projection commuting with a positive b, then q b is positive.
If q is a projection commuting with a positive b, then q b ≤ b,
because b - q b = (1 - q) b is a product of commuting positive operators.
The continuous functional calculus square root #
The square root of an operator is positive (junk value 0 if the argument
is not positive). Re-export of CFC.sqrt_nonneg.
√y √y = y for 0 ≤ y. Re-export of CFC.sqrt_mul_sqrt_self.
If y ≤ 1 then √y ≤ 1, by operator monotonicity of the square root and
√1 = 1. (Positivity of y is not needed: if y is not positive then
√y = 0 ≤ 1.)
Anything commuting with y commutes with √y: the square root is a
continuous functional calculus of y. (Positivity of y is not needed
because of the junk value.)
Commute.sqrt with the arguments in the other order.
Positive linear functionals #
A positive linear functional on H →L[ℂ] H is a ℂ-linear map
φ : (H →L[ℂ] H) →ₗ[ℂ] ℂ with 0 ≤ φ (star x * x) for every x, the order on
ℂ being the ComplexOrder one (0 ≤ z ↔ 0 ≤ z.re ∧ z.im = 0). We do not
bundle the hypothesis, so that the lemmas apply verbatim to the functional
underlying a normal state.
A positive functional is nonnegative on positive operators: every positive
operator is of the form star c * c (CStarAlgebra.nonneg_iff_eq_star_mul_self).
A positive functional as a bundled PositiveLinearMap; this is the input of
Mathlib's GNS construction, which is how the Cauchy–Schwarz inequality of
Orthogonalization/PhiNorm.lean is obtained.
Equations
- Orthogonalization.toPositiveLinearMap φ hφ = { toLinearMap := φ, monotone' := ⋯ }