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 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