Documentation

LeanPool.Monlib4.LinearAlgebra.QuantumSet.SchurMul

Schur Product Operator #

This file ports the definition of the upstream Monlib.LinearAlgebra.QuantumSet.SchurMul operator. The deeper upstream Schur-product theorem stack depends on the finite-dimensional Hilbert-algebra coalgebra instance and tensor-product infrastructure that are not yet recovered in the current monlib4 slice.

Schur product x •ₛ y := m ∘ (x ⊗ y) ∘ comul.

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

    Schur product x •ₛ y := m ∘ (x ⊗ y) ∘ comul.

    Equations
    Instances For
      theorem nonUnitalAlgHom_comp_mul {R : Type u_1} {A : Type u_2} {B : Type u_3} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A →ₙₐ[R] B) :
      theorem schurMul.apply_rankOne {A : Type u_1} {B : Type u_2} [NormedAddCommGroupOfRing A] [NormedAddCommGroupOfRing B] [InnerProductSpace ℂ A] [InnerProductSpace ℂ B] [SMulCommClass ℂ A A] [SMulCommClass ℂ B B] [IsScalarTower ℂ A A] [IsScalarTower ℂ B B] [FiniteDimensional ℂ A] (a c : B) (b d : A) :
      ↑(((rankOne ℂ) a) b) •ₛ ↑(((rankOne ℂ) c) d) = ↑(((rankOne ℂ) (a * c)) (b * d))
      theorem schurMul.apply_ket {B : Type u_2} [NormedAddCommGroupOfRing B] [InnerProductSpace ℂ B] [SMulCommClass ℂ B B] [IsScalarTower ℂ B B] (a b : B) :
      ↑((ket ℂ) a) •ₛ ↑((ket ℂ) b) = ↑((ket ℂ) (a * b))
      theorem bra_tmul {𝕜 : Type u_3} {B : Type u_4} {C : Type u_5} [RCLike 𝕜] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] (a : B) (b : C) :
      ↑((bra 𝕜) (a ⊗ₜ[𝕜] b)) = ↑(TensorProduct.lid 𝕜 𝕜) ∘ₗ TensorProduct.map ↑((bra 𝕜) a) ↑((bra 𝕜) b)
      theorem bra_map_bra {𝕜 : Type u_3} {B : Type u_4} {C : Type u_5} [RCLike 𝕜] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] (a : B) (b : C) :
      TensorProduct.map ↑((bra 𝕜) a) ↑((bra 𝕜) b) = ↑(TensorProduct.lid 𝕜 𝕜).symm ∘ₗ ↑((bra 𝕜) (a ⊗ₜ[𝕜] b))
      theorem ket_tmul {𝕜 : Type u_3} {B : Type u_4} {C : Type u_5} [RCLike 𝕜] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] (a : B) (b : C) :
      ↑((ket 𝕜) (a ⊗ₜ[𝕜] b)) = TensorProduct.map ↑((ket 𝕜) a) ↑((ket 𝕜) b) ∘ₗ ↑(TensorProduct.lid 𝕜 𝕜).symm
      theorem ket_map_ket {𝕜 : Type u_3} {B : Type u_4} {C : Type u_5} [RCLike 𝕜] [NormedAddCommGroup B] [NormedAddCommGroup C] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] (a : B) (b : C) :
      TensorProduct.map ↑((ket 𝕜) a) ↑((ket 𝕜) b) = ↑((ket 𝕜) (a ⊗ₜ[𝕜] b)) ∘ₗ ↑(TensorProduct.lid 𝕜 𝕜)
      theorem bra_comp_linearMap {𝕜 : Type u_3} {E₁ : Type u_4} {E₂ : Type u_5} [RCLike 𝕜] [NormedAddCommGroup E₁] [InnerProductSpace 𝕜 E₁] [NormedAddCommGroup E₂] [InnerProductSpace 𝕜 E₂] [FiniteDimensional 𝕜 E₁] [FiniteDimensional 𝕜 E₂] (x : E₂) (f : E₁ →ₗ[𝕜] E₂) :
      ↑((bra 𝕜) x) ∘ₗ f = ↑((bra 𝕜) ((LinearMap.adjoint f) x))
      theorem linearMap_comp_ket {𝕜 : Type u_3} {E₁ : Type u_4} {E₂ : Type u_5} [RCLike 𝕜] [NormedAddCommGroup E₁] [InnerProductSpace 𝕜 E₁] [NormedAddCommGroup E₂] [InnerProductSpace 𝕜 E₂] (x : E₁) (f : E₁ →ₗ[𝕜] E₂) :
      f ∘ₗ ↑((ket 𝕜) x) = ↑((ket 𝕜) (f x))
      theorem schurMul.apply_bra {B : Type u_2} [NormedAddCommGroupOfRing B] [InnerProductSpace ℂ B] [SMulCommClass ℂ B B] [IsScalarTower ℂ B B] [FiniteDimensional ℂ B] (a b : B) :
      ↑((bra ℂ) a) •ₛ ↑((bra ℂ) b) = ↑((bra ℂ) (a * b))
      theorem schurMul_real {A : Type u_3} {B : Type u_4} [starAlgebra A] [starAlgebra B] [QuantumSet A] [QuantumSet B] (x y : A →ₗ[ℂ] B) :
      theorem Psi.schurMul {A : Type u_3} {B : Type u_4} [starAlgebra A] [starAlgebra B] [hA : QuantumSet A] [QuantumSet B] (r₁ r₂ : ℝ) (f g : A →ₗ[ℂ] B) :
      (QuantumSet.Psi r₁ r₂) (f •ₛ g) = (QuantumSet.Psi r₁ r₂) f * (QuantumSet.Psi r₁ r₂) g
      theorem schurMul_assoc {A : Type u_3} {B : Type u_4} [starAlgebra A] [starAlgebra B] [hA : QuantumSet A] [QuantumSet B] (f g h : A →ₗ[ℂ] B) :
      (f •ₛ g) •ₛ h = f •ₛ g •ₛ h