Documentation

LeanPool.Monlib4.LinearAlgebra.Ips.Frob

Frobenius equations #

This file contains the proof of the Frobenius equations.

noncomputable def Module.Dual.tensorMul {n : Type u_1} {p : Type u_2} (φ₁ : Dual (Matrix n n )) (φ₂ : Dual (Matrix p p )) :

Tensor product of two matrix-valued module dual functionals.

Equations
Instances For
    theorem Module.Dual.tensorMul_apply {n : Type u_1} {p : Type u_2} (φ₁ : Dual (Matrix n n )) (φ₂ : Dual (Matrix p p )) (x : Matrix n n ) (y : Matrix p p ) :
    (φ₁.tensorMul φ₂) (x ⊗ₜ[] y) = φ₁ x * φ₂ y
    theorem Module.Dual.tensorMul_apply' {n : Type u_1} {p : Type u_2} [Fintype n] [Fintype p] [DecidableEq n] [DecidableEq p] (φ₁ : Dual (Matrix n n )) (φ₂ : Dual (Matrix p p )) (x : TensorProduct (Matrix n n ) (Matrix p p )) :
    (φ₁.tensorMul φ₂) x = i : n, j : n, k : p, l : p, TensorProduct.toKronecker x (i, k) (j, l) * (φ₁ (Matrix.stdBasisMatrix i j 1) * φ₂ (Matrix.stdBasisMatrix k l 1))
    theorem Module.Dual.tensorMul_apply'' {n : Type u_1} {p : Type u_2} [Fintype n] [Fintype p] [DecidableEq n] [DecidableEq p] (φ₁ : Dual (Matrix n n )) (φ₂ : Dual (Matrix p p )) (a : Matrix (n × p) (n × p) ) :
    (φ₁.tensorMul φ₂ ∘ₗ Matrix.kroneckerToTensorProduct) a = (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) φ₁.matrix φ₂.matrix * a).trace
    theorem Module.Dual.tensorMul_matrix {n : Type u_1} {p : Type u_2} [Fintype n] [Fintype p] [DecidableEq n] [DecidableEq p] (φ₁ : Dual (Matrix n n )) (φ₂ : Dual (Matrix p p )) :
    matrix (φ₁.tensorMul φ₂ ∘ₗ Matrix.kroneckerToTensorProduct) = Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) φ₁.matrix φ₂.matrix
    instance Module.Dual.IsFaithfulPosMap.tensorMul {n : Type u_1} {p : Type u_2} [Fintype n] [Fintype p] [DecidableEq n] [DecidableEq p] {φ₁ : Dual (Matrix n n )} {φ₂ : Dual (Matrix p p )} [hφ₁ : φ₁.IsFaithfulPosMap] [hφ₂ : φ₂.IsFaithfulPosMap] :

    Tensor products of faithful positive matrix functionals are faithful and positive.

    @[reducible]

    The normed additive group of matrices induced by a faithful positive functional.

    Equations
    Instances For
      @[reducible]
      noncomputable def Pi.module.Dual.isNormedAddCommGroupOfRing {k : Type u_1} [Fintype k] {s : kType u_2} [(i : k) → Fintype (s i)] [(i : k) → DecidableEq (s i)] (ψ : (i : k) → Module.Dual (Matrix (s i) (s i) )) [∀ (i : k), (ψ i).IsFaithfulPosMap] :

      The normed additive commutative group structure induced by faithful block functionals.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        noncomputable def matrixDirectSumFromTo {k : Type u_1} [DecidableEq k] {s : kType u_2} (i j : k) :
        Matrix (s i) (s i) →ₗ[] Matrix (s j) (s j)

        Linear map from one matrix summand to another in a direct product of matrix blocks.

        Equations
        Instances For
          theorem matrixDirectSumFromTo_same {k : Type u_2} [DecidableEq k] {s : kType u_1} (i : k) :
          noncomputable def directSumTensorMatrix {k : Type u_1} [Fintype k] [DecidableEq k] {s : kType u_2} :
          TensorProduct (PiMat k s) (PiMat k s) ≃ₗ[] (i : k × k) → TensorProduct (Matrix (s i.1) (s i.1) ) (Matrix (s i.2) (s i.2) )

          Linear equivalence splitting the tensor product of matrix-block products into block tensor products.

          Equations
          Instances For
            @[simp]
            theorem Module.Dual.IsFaithfulPosMap.sig_apply' {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] {r : } {x : Matrix n n } :
            (.sig r) x = .rpow (-r) * x * .rpow r