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 : k → Type 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 : k → Type 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 : k → Type u_1} (i : k) :
          noncomputable def directSumTensorMatrix {k : Type u_1} [Fintype k] [DecidableEq k] {s : k → Type 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 ℂ)} [hφ : φ.IsFaithfulPosMap] {r : ℝ} {x : Matrix n n ℂ} :
            (hφ.sig r) x = ⋯.rpow (-r) * x * ⋯.rpow r