Documentation

Monlib.LinearAlgebra.PosMap_isReal

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 selfAdjointDecomposition_left {B : Type u_1} [Star B] [Add B] [SMul B] (a : B) :
    B
    Equations
    Instances For
      @[reducible, inline]
      noncomputable abbrev selfAdjointDecomposition_right {B : Type u_1} [Star B] [Sub B] [SMul B] (a : B) :
      B
      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
        Equations
        Instances For
          theorem ContinuousLinearMap.toLinearMapAlgEquiv_apply {𝕜 : Type u_1} {B : Type u_2} [RCLike 𝕜] [NormedAddCommGroup B] [InnerProductSpace 𝕜 B] [FiniteDimensional 𝕜 B] (f : B →L[𝕜] B) :
          ContinuousLinearMap.toLinearMapAlgEquiv f = f
          theorem ContinuousLinearMap.toLinearMapAlgEquiv_symm_apply {𝕜 : Type u_1} {B : Type u_2} [RCLike 𝕜] [NormedAddCommGroup B] [InnerProductSpace 𝕜 B] [FiniteDimensional 𝕜 B] (f : B →ₗ[𝕜] B) :
          ContinuousLinearMap.toLinearMapAlgEquiv.symm f = LinearMap.toContinuousLinearMap f
          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))) :
            Equations
            Instances For
              theorem Matrix.toEuclideanLin_symm {𝕜 : Type u_3} {n : Type u_4} [RCLike 𝕜] [Fintype n] [DecidableEq n] (x : EuclideanSpace 𝕜 n →ₗ[𝕜] EuclideanSpace 𝕜 n) :
              Matrix.toEuclideanLin.symm x = LinearMap.toMatrix' x
              theorem EuclideanSpace.trace_eq_matrix_trace' {𝕜 : Type u_3} {n : Type u_4} [RCLike 𝕜] [Fintype n] [DecidableEq n] (f : EuclideanSpace 𝕜 n →ₗ[𝕜] EuclideanSpace 𝕜 n) :
              (LinearMap.trace 𝕜 (EuclideanSpace 𝕜 n)) f = (Matrix.toEuclideanLin.symm f).trace
              theorem Matrix.coe_toEuclideanCLM_symm_eq_toEuclideanLin_symm {𝕜 : Type u_3} {n : Type u_4} [RCLike 𝕜] [Fintype n] [DecidableEq n] (A : EuclideanSpace 𝕜 n →L[𝕜] EuclideanSpace 𝕜 n) :
              Matrix.toEuclideanCLM.symm A = Matrix.toEuclideanLin.symm A
              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.IsHermitian.orthogonalProjection_ker_apply_self {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :
              Matrix.orthogonalProjection (LinearMap.ker (Matrix.toEuclideanCLM x)) * x = 0
              theorem Matrix.nonneg_def {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } :
              0 x x.PosSemidef
              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_eq {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :
                hx.sqSqrt = (Matrix.innerAut hx.eigenvectorUnitary) (Matrix.diagonal (RCLike.ofReal |hx.eigenvalues|))
                theorem Matrix.IsHermitian.sqSqrt_isPosSemidef {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :
                hx.sqSqrt.PosSemidef
                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.posSemidefDecomposition_left {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :
                Equations
                • x = (1 / 2) (.sqSqrt + x)
                Instances For

                  Pretty printer defined by notation3 command.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For
                    theorem Matrix.IsHermitian.posSemidefDecomposition_left_isHermitian {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } [hx : Fact x.IsHermitian] :
                    x.IsHermitian
                    noncomputable def Matrix.IsHermitian.posSemidefDecomposition_right {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :
                    Equations
                    • x = (1 / 2) (.sqSqrt - x)
                    Instances For

                      Pretty printer defined by notation3 command.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem Matrix.IsHermitian.posSemidefDecomposition_right_isHermitian {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } [hx : Fact x.IsHermitian] :
                        x.IsHermitian
                        theorem Matrix.IsHermitian.commute_sqSqrt {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : x.IsHermitian) :
                        Commute x hx.sqSqrt

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

                        theorem Matrix.IsHermitian.posSemidefDecomposition_left_mul_right {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :
                        x * x = 0
                        theorem Matrix.IsHermitian.posSemidefDecomposition_right_mul_left {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :
                        x * x = 0
                        theorem Matrix.IsHermitian.posSemidefDecomposition_eq {n : Type u_2} [Fintype n] [DecidableEq n] (x : Matrix n n ) [hx : Fact x.IsHermitian] :
                        x = x - x
                        theorem Matrix.IsHermitian.posSemidefDecomposition_posSemidef_left_right {n : Type u_2} [Fintype n] [DecidableEq n] {x : Matrix n n } (hx : Fact x.IsHermitian) :
                        x.PosSemidef x.PosSemidef
                        theorem Matrix.IsHermitian.posSemidefDecomposition' {n : Type u_2} [Fintype n] [DecidableEq 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)] [(i : k) → DecidableEq (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_3) [Add A] [Mul A] [Star A] [SMul A] :
                        Type (max (max u_3 (u_4 + 1)) (u_5 + 1))
                        Instances For
                          noncomputable def Matrix.isEquivToPiMat {n : Type u_2} [Fintype n] [DecidableEq n] :
                          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] [PartialOrder A] [StarOrderedRing A] (hφ : 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} :
                            LinearMap.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) :
                            LinearMap.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) :
                            LinearMap.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 : (Matrix.unitaryGroup n 𝕜)) (x : Matrix n n 𝕜) (z : ) :
                            (Matrix.innerAut U) x ^ z = (Matrix.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 : ) :
                            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 : Matrix n n 𝕜} {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 : Matrix n n 𝕜} {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) (b : B) (c : B) (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 : V →ₗ[𝕜] V} {T : V →ₗ[𝕜] V} (hS : S.IsPositive) (hT : T.IsPositive) :
                            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
                            theorem LinearMap.isSymmetric_adjoint_mul_self' {𝕜 : Type u_3} {V : Type u_4} {W : Type u_5} [RCLike 𝕜] [NormedAddCommGroup V] [InnerProductSpace 𝕜 V] [NormedAddCommGroup W] [InnerProductSpace 𝕜 W] [FiniteDimensional 𝕜 V] [FiniteDimensional 𝕜 W] (T : V →ₗ[𝕜] W) :
                            (LinearMap.adjoint T ∘ₗ T).IsSymmetric