Physlib Documentation

QuantumInfo.ForMathlib.HermitianMat.Order

instance HermitianMat.instPartialOrder {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} :

The MatrixOrder instance for Matrix (the Loewner order) we keep open for HermitianMat, always.

Equations
instance HermitianMat.instIsOrderedAddMonoid {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} :
theorem HermitianMat.le_iff {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A B : HermitianMat n ๐•œ} :
A โ‰ค B โ†” (โ†‘(B - A)).PosSemidef
theorem HermitianMat.zero_le_iff {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A : HermitianMat n ๐•œ} :
0 โ‰ค A โ†” (โ†‘A).PosSemidef
theorem HermitianMat.le_iff_mulVec_le {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A B : HermitianMat n ๐•œ} :
A โ‰ค B โ†” โˆ€ (x : n โ†’ ๐•œ), star x โฌแตฅ (โ†‘A).mulVec x โ‰ค star x โฌแตฅ (โ†‘B).mulVec x
instance HermitianMat.instZeroLEOneClass {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [DecidableEq n] :
theorem HermitianMat.lt_iff_posdef {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A B : HermitianMat n ๐•œ} :
A < B โ†” (โ†‘(B - A)).PosSemidef โˆง A โ‰  B
instance HermitianMat.instIsStrictOrderedModuleReal {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} :
theorem HermitianMat.posSemidef_iff_spectrum_Ici {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] [DecidableEq n] (A : HermitianMat n ๐•œ) :
theorem HermitianMat.posSemidef_iff_spectrum_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] [DecidableEq n] (A : HermitianMat n ๐•œ) :
0 โ‰ค A โ†” โˆ€ x โˆˆ spectrum โ„ โ†‘A, 0 โ‰ค x
theorem HermitianMat.trace_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} (hA : 0 โ‰ค A) :
theorem HermitianMat.trace_pos {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} (hA : 0 < A) :
0 < A.trace

Positivity extension for HermitianMat.trace: nonneg when the matrix is nonneg, positive when the matrix is positive.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    instance HermitianMat.instPosSMulMonoReal {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} :
    instance HermitianMat.instSMulPosMonoReal {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} :
    instance HermitianMat.instPosSMulReflectLEReal {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} :
    theorem HermitianMat.le_trace_smul_one {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [DecidableEq n] (hA : 0 โ‰ค A) :
    theorem HermitianMat.kronecker_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {m : Type u_3} [Fintype n] [Fintype m] {B : HermitianMat n ๐•œ} {A : HermitianMat m ๐•œ} (hA : 0 โ‰ค A) (hB : 0 โ‰ค B) :

    The Kronecker product of two nonnegative Hermitian matrices is nonnegative.

    theorem HermitianMat.kronecker_pos {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {m : Type u_3} [Fintype n] [Fintype m] {B : HermitianMat n ๐•œ} {A : HermitianMat m ๐•œ} (hA : 0 < A) (hB : 0 < B) :
    0 < A.kronecker B

    The Kronecker product of two positive Hermitian matrices is positive.

    theorem HermitianMat.posSemidef_to_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A : Matrix n n ๐•œ} (hA : A.PosSemidef) :
    theorem HermitianMat.posDef_to_pos {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : Matrix n n ๐•œ} (hA : A.PosDef) [Nonempty n] :
    0 < A

    Positivity extension for Matrix: looks for A.PosSemidef or A.PosDef in the local context (including syntactic And conjunctions) to prove 0 โ‰ค A or 0 < A.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem HermitianMat.mat_posSemidef_to_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A : HermitianMat n ๐•œ} (hA : (โ†‘A).PosSemidef) :
      theorem HermitianMat.mat_posDef_to_pos {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [Nonempty n] (hA : (โ†‘A).PosDef) :
      0 < A

      Positivity extension for HermitianMat: looks for A.mat.PosSemidef or A.mat.PosDef in the local context (including syntactic And conjunctions) to prove 0 โ‰ค A or 0 < A.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Positivity extension for HermitianMat.kronecker: nonneg when both factors are.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem HermitianMat.conj_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {m : Type u_3} [Fintype n] [Fintype m] {A : HermitianMat n ๐•œ} (M : Matrix m n ๐•œ) (hA : 0 โ‰ค A) :
          0 โ‰ค (conj M) A

          Positivity extension for HermitianMat.conj: nonneg when the inner matrix is.

          theorem HermitianMat.conj_pos {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {m : Type u_3} [Fintype n] [Fintype m] [DecidableEq n] {A : HermitianMat n ๐•œ} {M : Matrix m n ๐•œ} (hA : 0 < A) (h : (Matrix.toEuclideanLin M).ker โ‰ค A.ker) :
          0 < (conj M) A

          Positivity extension for HermitianMat.conj: nonneg when the inner matrix is.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem HermitianMat.convex_cone {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A B : HermitianMat n ๐•œ} (hA : 0 โ‰ค A) (hB : 0 โ‰ค B) {cโ‚ cโ‚‚ : โ„} (hcโ‚ : 0 โ‰ค cโ‚) (hcโ‚‚ : 0 โ‰ค cโ‚‚) :
            0 โ‰ค cโ‚ โ€ข A + cโ‚‚ โ€ข B
            theorem HermitianMat.sq_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [DecidableEq n] :
            0 โ‰ค A ^ 2
            theorem HermitianMat.ker_antitone {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A B : HermitianMat n ๐•œ} [DecidableEq n] (hA : 0 โ‰ค A) :
            A โ‰ค B โ†’ B.ker โ‰ค A.ker
            theorem HermitianMat.conj_mono {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {m : Type u_3} [Fintype n] [Fintype m] {A B : HermitianMat n ๐•œ} {M : Matrix m n ๐•œ} (h : A โ‰ค B) :
            (conj M) A โ‰ค (conj M) B
            theorem HermitianMat.conj_posDef {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} {N : Matrix n n ๐•œ} [DecidableEq n] (hA : (โ†‘A).PosDef) (hN : IsUnit N) :
            (โ†‘((conj N) A)).PosDef
            theorem HermitianMat.inv_conj {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [DecidableEq n] {M : Matrix n n ๐•œ} (hM : IsUnit M) :
            theorem HermitianMat.le_iff_mulVec_le_mulVec {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] (A B : HermitianMat n ๐•œ) :
            A โ‰ค B โ†” โˆ€ (v : n โ†’ ๐•œ), star v โฌแตฅ (โ†‘A).mulVec v โ‰ค star v โฌแตฅ (โ†‘B).mulVec v
            theorem HermitianMat.inner_mulVec_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} (hA : 0 โ‰ค A) (v : n โ†’ ๐•œ) :
            theorem HermitianMat.mem_ker_of_inner_mulVec_zero {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [DecidableEq n] (hA : 0 โ‰ค A) (v : EuclideanSpace ๐•œ n) (h : star v.ofLp โฌแตฅ (โ†‘A).mulVec v.ofLp = 0) :
            theorem HermitianMat.ker_add {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A B : HermitianMat n ๐•œ} [DecidableEq n] (hA : 0 โ‰ค A) (hB : 0 โ‰ค B) :
            (A + B).ker = A.ker โŠ“ B.ker
            theorem HermitianMat.ker_sum {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {ฮน : Type u_4} [Fintype n] [Fintype ฮน] [DecidableEq n] (f : ฮน โ†’ HermitianMat n ๐•œ) (hf : โˆ€ (i : ฮน), 0 โ‰ค f i) :
            (โˆ‘ i : ฮน, f i).ker = โจ… (i : ฮน), (f i).ker
            theorem HermitianMat.ker_conj {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [DecidableEq n] (hA : 0 โ‰ค A) (B : Matrix n n ๐•œ) :
            theorem HermitianMat.ker_le_of_le_smul {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A B : HermitianMat n ๐•œ} {ฮฑ : โ„} [DecidableEq n] (hฮฑ : ฮฑ โ‰  0) (hA : 0 โ‰ค A) (hAB : A โ‰ค ฮฑ โ€ข B) :

            Positivity extensions connecting HermitianMat and Matrix #

            theorem HermitianMat.eigenvalues_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {A : HermitianMat n ๐•œ} [DecidableEq n] (hA : 0 โ‰ค A) (i : n) :
            0 โ‰ค โ‹ฏ.eigenvalues i

            If a HermitianMat is PSD, then its eigenvalues are nonneg.

            theorem HermitianMat.mat_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A : HermitianMat n ๐•œ} (hA : 0 โ‰ค A) :
            0 โ‰ค โ†‘A

            If a HermitianMat is PSD, its underlying matrix is nonneg in the Loewner order.

            theorem HermitianMat.mat_pos {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} {A : HermitianMat n ๐•œ} (hA : 0 < A) :
            0 < โ†‘A

            If a HermitianMat is positive, its underlying matrix is positive in the Loewner order.

            theorem Matrix.nonneg_conjTranspose_mul_self {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {m : Type u_5} [Fintype m] (M : Matrix m n ๐•œ) :

            Mแดด * M is nonneg in the Loewner order, for any matrix M.

            theorem Matrix.nonneg_self_mul_conjTranspose {๐•œ : Type u_1} [RCLike ๐•œ] {n : Type u_2} [Fintype n] {m : Type u_5} [Fintype m] (M : Matrix n m ๐•œ) :

            M * Mแดด is nonneg in the Loewner order, for any matrix M.

            theorem HermitianMat.subtype_mk_nonneg {๐•œ : Type u_1} [RCLike ๐•œ] {m : Type u_3} {M : Matrix m m ๐•œ} (h : 0 โ‰ค M) :
            theorem HermitianMat.subtype_mk_pos {๐•œ : Type u_1} [RCLike ๐•œ] {m : Type u_3} {M : Matrix m m ๐•œ} (h : 0 < M) :
            0 < โŸจM, โ‹ฏโŸฉ

            Positivity extension for A.mat where A : HermitianMat: nonneg when 0 โ‰ค A.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              Positivity extension for A.mat where A : HermitianMat: nonneg when 0 โ‰ค A.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For

                Positivity extension for M * Mแดด as a Matrix: always nonneg.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For

                  Positivity extension for Mแดด * M as a Matrix: always nonneg.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Positivity extension for โŸจM, (pf : M.IsHermitian)โŸฉ as a HermitianMat: equivalent to 0 โ‰ค M in MatrixOrder.

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Positivity extension for eigenvalues of a Matrix: 0 โ‰ค (_ : M.IsHermitian).eigenvalues i. Will try to prove 0 โ‰ค M in the MatrixOrder. If the proof is A.H, i.e. M comes from a HermitianMat, this will give 0 โ‰ค A.mat which becomes 0 โ‰ค A later.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For