Documentation

LeanPool.Monlib4.LinearAlgebra.PosMapIsReal

LeanPool.Monlib4.LinearAlgebra.PosMapIsReal #

Imported Lean Pool material for LeanPool.Monlib4.LinearAlgebra.PosMapIsReal.

def LinearMap.IsPosMap {M₁ : Type u_1} {M₂ : Type u_2} [Zero M₁] [Zero M₂] [PartialOrder M₁] [PartialOrder M₂] {F : Type u_3} [FunLike F M₁ M₂] (f : F) :

we say a map $f \colon M_1 \to M_2$ is a positive map if for all positive $x \in M_1$, we also get $f(x)$ is positive

Equations
Instances For
    @[reducible, inline]
    noncomputable abbrev selfAdjointDecompositionLeft {B : Type u_1} [Star B] [Add B] [SMul B] (a : B) :
    B

    The self-adjoint real part of an element.

    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev selfAdjointDecompositionRight {B : Type u_1} [Star B] [Sub B] [SMul B] (a : B) :
      B

      The self-adjoint imaginary part of an element.

      Equations
      Instances For
        noncomputable def ContinuousLinearMap.toLinearMapAlgEquiv {𝕜 : Type u_1} {B : Type u_2} [RCLike 𝕜] [NormedAddCommGroup B] [InnerProductSpace 𝕜 B] [FiniteDimensional 𝕜 B] :
        (B →L[𝕜] B) ≃ₐ[𝕜] B →ₗ[𝕜] B

        The algebra equivalence between continuous endomorphisms and linear endomorphisms in finite-dimensional inner product spaces.

        Equations
        Instances For
          theorem ContinuousLinearMap.spectrum_coe {𝕜 : Type u_1} {B : Type u_2} [RCLike 𝕜] [NormedAddCommGroup B] [InnerProductSpace 𝕜 B] [FiniteDimensional 𝕜 B] (T : B →L[𝕜] B) :
          spectrum 𝕜 T = spectrum 𝕜 T
          noncomputable def Matrix.orthogonalProjection {n : Type u_2} [Fintype n] [DecidableEq n] (U : Submodule (EuclideanSpace n)) :

          matrix of orthogonalProjection

          Equations
          Instances For
            noncomputable def PiMat.orthogonalProjection {k : Type u_3} {n : kType u_4} [(i : k) → Fintype (n i)] [(i : k) → DecidableEq (n i)] (U : (i : k) → Submodule (EuclideanSpace (n i))) :

            The blockwise matrix of orthogonal projections for a PiMat.

            Equations
            Instances For
              theorem PiMat.orthogonalProjection_trace {k : Type u_3} {n : kType u_4} [Fintype k] [DecidableEq k] [(i : k) → Fintype (n i)] [(i : k) → DecidableEq (n i)] (U : (i : k) → Submodule (EuclideanSpace (n i))) :
              theorem Matrix.nonneg_def {n : Type u_2} {x : Matrix n n } :
              noncomputable def Matrix.IsHermitian.sqSqrt {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :

              the positive square root of the square of a Hermitian matrix x, in other words, √(x ^ 2)

              Equations
              Instances For
                theorem Matrix.IsHermitian.sqSqrt_sq {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :
                hx.sqSqrt ^ 2 = x ^ 2

                the square of the positive square root of a Hermitian matrix is equal to the square of the matrix

                noncomputable def Matrix.IsHermitian.posSemidefDecompositionLeft {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :

                The positive part in the decomposition of a Hermitian matrix.

                Equations
                Instances For

                  Notation for the positive part in the decomposition of a Hermitian matrix.

                  Equations
                  Instances For
                    noncomputable def Matrix.IsHermitian.posSemidefDecompositionRight {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :

                    The negative part in the decomposition of a Hermitian matrix.

                    Equations
                    Instances For

                      Notation for the negative part in the decomposition of a Hermitian matrix.

                      Equations
                      Instances For
                        theorem Matrix.IsHermitian.commute_sqSqrt {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :

                        a Hermitian matrix commutes with its positive squared-square-root, i.e., x * √(x^2) = √(x^2) * x.

                        theorem Matrix.IsHermitian.posSemidefDecomposition' {n : Type u_2} [Fintype n] {x : Matrix n n } (hx : x.IsHermitian) :
                        ∃ (a : Matrix n n ) (b : Matrix n n ), x = a.conjTranspose * a - b.conjTranspose * b
                        theorem PiMat.IsSelfAdjoint.posSemidefDecomposition {k : Type u_3} {n : kType u_4} [(i : k) → Fintype (n i)] {x : PiMat k n} (hx : IsSelfAdjoint x) :
                        ∃ (a : PiMat k n) (b : PiMat k n), x = star a * a - star b * b
                        structure isEquivToPiMat (A : Type u) [Add A] [Mul A] [Star A] [SMul A] :
                        Type (u + 1)

                        Data exhibiting a star algebra as equivalent to a finite product of matrix algebras.

                        • k : Type u

                          The index type for the product of matrix algebras.

                        • rk : self.kType u

                          The matrix index type in each summand.

                        • hrk₁ (i : self.k) : Fintype (self.rk i)

                          Finiteness of each matrix index type.

                        • hrk₂ (i : self.k) : DecidableEq (self.rk i)

                          Decidable equality for each matrix index type.

                        • φ : A ≃⋆ₐ[] PiMat self.k self.rk

                          The star algebra equivalence to the product of matrix algebras.

                        Instances For
                          noncomputable def Matrix.isEquivToPiMat {n : Type u_2} [Fintype n] [DecidableEq n] :

                          Matrices are trivially equivalent to a one-summand product of matrix algebras.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem IsSelfAdjoint.isPositiveDecomposition_of_starAlgEquiv_piMat {A : Type u_3} [Ring A] [StarRing A] [Algebra A] ( : isEquivToPiMat A) {x : A} (hx : IsSelfAdjoint x) :
                            ∃ (a : A) (b : A), x = star a * a - star b * b

                            if a map preserves positivity, then it is star-preserving

                            theorem StarNonUnitalAlgHom.toLinearMap_apply {R : Type u_3} {A : Type u_4} {B : Type u_5} [Semiring R] [NonUnitalNonAssocSemiring A] [Module R A] [NonUnitalNonAssocSemiring B] [Module R B] [Star A] [Star B] (f : A →⋆ₙₐ[R] B) (x : A) :
                            f x = f x
                            theorem LinearMap.isPosMap_iff_star_mul_self_nonneg {A : Type u_3} {K : Type u_4} [NonUnitalSemiring A] [PartialOrder A] [StarRing A] [StarOrderedRing A] [NonUnitalSemiring K] [PartialOrder K] [StarRing K] [StarOrderedRing K] (hA : ∀ ⦃a : A⦄, 0 a ∃ (b : A), a = star b * b) {F : Type u_5} [FunLike F A K] {f : F} :
                            IsPosMap f ∀ (a : A), 0 f (star a * a)
                            theorem LinearMap.isPosMap_iff_comp_starAlgEquiv {K : Type u_3} {A : Type u_4} {B : Type u_5} [Mul K] [Mul A] [Mul B] [Star K] [Star A] [Star B] [Zero A] [Zero B] [Zero K] [PartialOrder A] [PartialOrder B] [PartialOrder K] (hA : ∀ ⦃a : A⦄, 0 a ∃ (b : A), a = star b * b) (hB : ∀ ⦃a : B⦄, 0 a ∃ (b : B), a = star b * b) {F : Type u_6} {S : Type u_7} [FunLike F A K] {φ : F} [EquivLike S B A] [MulEquivClass S B A] [StarHomClass S B A] (ψ : S) :
                            IsPosMap φ ∀ ⦃x : B⦄, 0 x0 φ (ψ x)
                            theorem LinearMap.isReal_iff_comp_starEquiv {K : Type u_3} {A : Type u_4} {B : Type u_5} [Star K] [Star A] [Star B] {F : Type u_6} {S : Type u_7} [FunLike F A K] [EquivLike S B A] [StarHomClass S B A] {φ : F} (ψ : S) :
                            IsReal φ ∀ (x : B), φ (ψ (star x)) = star (φ (ψ x))

                            if a map preserves positivity, then it is star-preserving

                            theorem starMulHom_isPosMap {A : Type u_3} {K : Type u_4} [Semiring A] [PartialOrder A] [StarRing A] [StarOrderedRing A] [Semiring K] [PartialOrder K] [StarRing K] [StarOrderedRing K] (hA : ∀ ⦃a : A⦄, 0 a ∃ (b : A), a = star b * b) {F : Type u_5} [FunLike F A K] [StarHomClass F A K] [MulHomClass F A K] (f : F) :

                            a $^*$-homomorphism from $A$ to $B$ is a positive map

                            theorem Matrix.innerAut.map_zpow {n : Type u_3} [Fintype n] [DecidableEq n] {𝕜 : Type u_4} [RCLike 𝕜] (U : (unitaryGroup n 𝕜)) (x : Matrix n n 𝕜) (z : ) :
                            (innerAut U) x ^ z = (innerAut U) (x ^ z)
                            theorem Matrix.inv_diagonal' {R : Type u_3} {n : Type u_4} [Field R] [Fintype n] [DecidableEq n] (d : nR) [Invertible d] :
                            theorem Matrix.diagonal_zpow {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [Field 𝕜] (x : n𝕜) [Invertible x] (z : ) :
                            diagonal x ^ z = diagonal (x ^ z)
                            theorem Matrix.PosDef.rpow_zpow {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [RCLike 𝕜] {Q : Matrix n n 𝕜} (hQ : Q.PosDef) (r : ) (z : ) :
                            hQ.rpow r ^ z = hQ.rpow (r * z)
                            theorem Matrix.PosDef.rpow_eq_pow {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [RCLike 𝕜] {Q : Matrix n n 𝕜} (hQ : Q.PosDef) (r : ) :
                            hQ.rpow r = Q ^ r
                            theorem Matrix.PosDef.rpow_eq_zpow {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [RCLike 𝕜] {Q : Matrix n n 𝕜} (hQ : Q.PosDef) (r : ) :
                            hQ.rpow r = Q ^ r
                            theorem Matrix.PosDef.rpow_rzpow {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [RCLike 𝕜] {Q : Matrix n n 𝕜} (hQ : Q.PosDef) (r : ) (z : ) :
                            .rpow z = hQ.rpow (r * z)
                            theorem Matrix.PosDef.eq_zpow_of_zpow_inv_eq {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [RCLike 𝕜] {Q R : Matrix n n 𝕜} (hQ : Q.PosDef) {z : } (hz : z 0) (h : hQ.rpow (↑z)⁻¹ = R) :
                            Q = R ^ z
                            theorem Matrix.PosDef.eq_of_zpow_inv_eq_zpow_inv {n : Type u_2} [Fintype n] [DecidableEq n] {𝕜 : Type u_3} [RCLike 𝕜] {Q R : Matrix n n 𝕜} (hQ : Q.PosDef) (hR : R.PosDef) {r : } (hr : r 0) (hQR : hQ.rpow (↑r)⁻¹ = hR.rpow (↑r)⁻¹) :
                            Q = R
                            theorem complex_decomposition_mul_decomposition {B : Type u_3} [Ring B] [StarRing B] [Module B] [StarModule B] [IsScalarTower B B] [SMulCommClass B B] (a b c d : B) :
                            (a + Complex.I b) * (c + Complex.I d) = a * c - b * d + Complex.I (b * c + a * d)
                            theorem LinearMap.IsPositive'.add_ker_eq_inf_ker {𝕜 : Type u_3} {V : Type u_4} [RCLike 𝕜] [NormedAddCommGroup V] [InnerProductSpace 𝕜 V] [FiniteDimensional 𝕜 V] {S T : V →ₗ[𝕜] V} (hS : S.IsPositive') (hT : T.IsPositive') :
                            (S + T).ker = S.kerT.ker
                            theorem LinearMap.exists_scalar_isometry_iff_preserves_ortho_of_ne_zero {𝕜 : Type u_3} {V : Type u_4} {W : Type u_5} [RCLike 𝕜] [NormedAddCommGroup V] [InnerProductSpace 𝕜 V] [NormedAddCommGroup W] [InnerProductSpace 𝕜 W] (hV : 0 < Module.finrank 𝕜 V) {T : V →ₗ[𝕜] W} (hT : T 0) :
                            (∃ (α : 𝕜ˣ), Isometry ⇑(α T)) ∀ (x y : V), inner 𝕜 x y = 0inner 𝕜 (T x) (T y) = 0
                            theorem LinearMap.exists_scalar_isometry_iff_preserves_ortho {𝕜 : Type u_3} {V : Type u_4} [RCLike 𝕜] [NormedAddCommGroup V] [InnerProductSpace 𝕜 V] [Module.Finite 𝕜 V] {T : V →ₗ[𝕜] V} :
                            (∃ (α : 𝕜) (S : V →ₗᵢ[𝕜] V), T = α S.toLinearMap) ∀ (x y : V), inner 𝕜 x y = 0inner 𝕜 (T x) (T y) = 0