Quantum Set #
This file defines the structure of a quantum set.
A quantum set is defined as a star-algebra A
over ℂ
with a positive element Q
such that
Q
is invertible and a sum of rank-one operators (in other words, positive definite).
The quantum set is also equipped with a faithful positive linear functional φ
on A
,
which is used to define the inner product on A
, i.e., ⟪x, y⟫_ℂ = φ (star x * y)
.
The quantum set is also equipped with a trace
functional on A
such that φ x = trace (Q * x)
.
Main definitions #
quantum_set A
is a structure that defines a quantum set.quantum_set.mod_aut A t
defines the modular automorphism of a quantum set, which is a family of automorphisms ofA
parameterized byt : ℝ
, given byx ↦ Q^(-t) * x * Q^t
, whereQ
is the unique positive definite element inA
given by the quantum set structure.
@[simp]
@[simp]
class
InnerProductAlgebra
(A : Type u_1)
[starAlgebra A]
extends Norm A, MetricSpace A, Inner ℂ A, IsBoundedSMul ℂ A :
Type u_1
- uniformity_dist : uniformity A = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : A × A | dist p.1 p.2 < ε}
- toBornology : Bornology A
Instances
noncomputable instance
InnerProductAlgebra.toNormedAddCommGroupOfRing
{A : Type u_1}
[starAlgebra A]
[InnerProductAlgebra A]
:
noncomputable instance
InnerProductAlgebra.toInnerProductSpace
{A : Type u_1}
[starAlgebra A]
[InnerProductAlgebra A]
:
Equations
class
QuantumSet
(A : Type u_2)
[ha : starAlgebra A]
extends InnerProductAlgebra A :
Type (max (u_1 + 1) u_2)
- uniformity_dist : uniformity A = ⨅ (ε : ℝ), ⨅ (_ : ε > 0), Filter.principal {p : A × A | dist p.1 p.2 < ε}
- toBornology : Bornology A
the modular automorphism is symmetric with respect to the inner product, in other words, it is self-adjoint
- k : ℝ
- n : Type u_1
- n_isDecidableEq : DecidableEq (n A)
- onb : OrthonormalBasis (n A) ℂ A
fix an orthonormal basis on
A
Instances
theorem
QuantumSet.modAut_isSelfAdjoint
{A : Type u_1}
[ha : starAlgebra A]
[hA : QuantumSet A]
(r : ℝ)
:
Alias of starAlgebra.modAut_apply_modAut
.
Equations
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
theorem
TensorProduct.singleton_tmul
{R : Type u_2}
{E : Type u_3}
{F : Type u_4}
[CommSemiring R]
[AddCommGroup E]
[Module R E]
[AddCommGroup F]
[Module R F]
(x : TensorProduct R E F)
(b₁ : Basis (Fin 1) R E)
(b₂ : Basis (Fin 1) R F)
:
Equations
- ⋯ = ⋯
Instances For
theorem
QuantumSet.inner_eq_counit
{B : Type u_2}
[hb : starAlgebra B]
[hB : QuantumSet B]
(x y : B)
:
theorem
counit_mul_modAut_symm'
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
(a b : A)
(r : ℝ)
:
theorem
counit_comp_mul_comp_rTensor_modAut
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
theorem
counit_comp_mul_comp_lTensor_modAut
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
CoalgebraStruct.counit ∘ₗ LinearMap.mul' ℂ A ∘ₗ LinearMap.lTensor A (modAut (-1)).toLinearMap = CoalgebraStruct.counit ∘ₗ LinearMap.mul' ℂ A ∘ₗ ↑(TensorProduct.comm ℂ A A)
noncomputable def
QuantumSet.Psi_toFun
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
QuantumSet.Psi_toFun_apply
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
(b : A)
(a : B)
:
noncomputable def
QuantumSet.Psi_invFun
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
QuantumSet.Psi_invFun_apply
{A : Type u_3}
{B : Type u_2}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
(x : A)
(y : Bᵐᵒᵖ)
:
theorem
QuantumSet.Psi_left_inv
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
(x : A)
(y : B)
:
theorem
QuantumSet.Psi_right_inv
{A : Type u_3}
{B : Type u_2}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
(x : A)
(y : Bᵐᵒᵖ)
:
noncomputable def
QuantumSet.Psi
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
:
Equations
- One or more equations did not get rendered due to their size.
Instances For
@[simp]
theorem
QuantumSet.Psi_symm_apply
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
(x : TensorProduct ℂ B Aᵐᵒᵖ)
:
@[simp]
theorem
QuantumSet.Psi_apply
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
(x : A →ₗ[ℂ] B)
:
theorem
LinearMap.adjoint_real_eq
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(f : A →ₗ[ℂ] B)
:
theorem
rankOne_real
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(a : A)
(b : B)
:
theorem
QuantumSet.rTensor_mul_comp_lTensor_comul_eq_comul_comp_mul
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
theorem
QuantumSet.lTensor_mul_comp_rTensor_comul_eq_comul_comp_mul
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
noncomputable def
QuantumSet.isFrobeniusAlgebra
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
Equations
Instances For
theorem
QuantumSet.rTensor_counit_mul_comp_comm_comp_rTensor_comul_unit_eq_modAut_one
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
↑(TensorProduct.lid ℂ A) ∘ₗ LinearMap.rTensor A (CoalgebraStruct.counit ∘ₗ LinearMap.mul' ℂ A) ∘ₗ ↑(TensorProduct.assoc ℂ A A A).symm ∘ₗ LinearMap.lTensor A ↑(TensorProduct.comm ℂ A A) ∘ₗ ↑(TensorProduct.assoc ℂ A A A) ∘ₗ LinearMap.rTensor A (CoalgebraStruct.comul ∘ₗ Algebra.linearMap ℂ A) ∘ₗ ↑(TensorProduct.lid ℂ A).symm = (modAut 1).toLinearMap
theorem
QuantumSet.lTensor_counit_mul_comp_comm_comp_lTensor_comul_unit_eq_modAut_neg_one
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
↑(TensorProduct.rid ℂ A) ∘ₗ LinearMap.lTensor A (CoalgebraStruct.counit ∘ₗ LinearMap.mul' ℂ A) ∘ₗ ↑(TensorProduct.assoc ℂ A A A) ∘ₗ LinearMap.rTensor A ↑(TensorProduct.comm ℂ A A) ∘ₗ ↑(TensorProduct.assoc ℂ A A A).symm ∘ₗ LinearMap.lTensor A (CoalgebraStruct.comul ∘ₗ Algebra.linearMap ℂ A) ∘ₗ ↑(TensorProduct.rid ℂ A).symm = (modAut (-1)).toLinearMap
theorem
QuantumSet.counit_tensor_star_left_eq_bra
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
(x : A)
:
theorem
QuantumSet.mul_comp_tensor_left_unit_eq_ket
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
(x : A)
:
theorem
QuantumSet.rTensor_bra_comul_unit_eq_ket_star
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
(x : A)
:
↑(TensorProduct.lid ℂ A) ∘ₗ LinearMap.rTensor A ↑((bra ℂ) x) ∘ₗ CoalgebraStruct.comul ∘ₗ Algebra.linearMap ℂ A = ↑((ket ℂ) ((modAut (-k A)) (star x)))
theorem
QuantumSet.rTensor_bra_comul_unit_eq_ket_star'
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
(x : A)
:
↑(TensorProduct.lid ℂ A) ∘ₗ LinearMap.rTensor A ↑((bra ℂ) ((modAut (-k A)) x)) ∘ₗ CoalgebraStruct.comul ∘ₗ Algebra.linearMap ℂ A = ↑((ket ℂ) (star x))
theorem
QuantumSet.counit_mul_rTensor_ket_eq_bra_star
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
(x : A)
:
CoalgebraStruct.counit ∘ₗ LinearMap.mul' ℂ A ∘ₗ LinearMap.rTensor A ↑((ket ℂ) x) ∘ₗ ↑(TensorProduct.lid ℂ A).symm = ↑((bra ℂ) ((modAut (-k A)) (star x)))
theorem
ket_real
{𝕜 : Type u_2}
{A : Type u_3}
[RCLike 𝕜]
[NormedAddCommGroup A]
[InnerProductSpace 𝕜 A]
[StarAddMonoid A]
[StarModule 𝕜 A]
(x : A)
:
theorem
ket_toMatrix
{𝕜 : Type u_2}
{A : Type u_3}
[RCLike 𝕜]
[NormedAddCommGroup A]
[InnerProductSpace 𝕜 A]
{ι : Type u_4}
[Fintype ι]
(b : Basis ι 𝕜 A)
(x : A)
:
theorem
bra_toMatrix
{𝕜 : Type u_2}
{A : Type u_3}
[RCLike 𝕜]
[NormedAddCommGroup A]
[InnerProductSpace 𝕜 A]
{ι : Type u_4}
[Fintype ι]
[DecidableEq ι]
(b : OrthonormalBasis ι 𝕜 A)
(x : A)
:
(LinearMap.toMatrix b.toBasis (Basis.singleton Unit 𝕜)) ↑((bra 𝕜) x) = (Matrix.col Unit (b.repr x)).conjTranspose
theorem
rankOne_trace
{𝕜 : Type u_2}
{A : Type u_3}
[RCLike 𝕜]
[NormedAddCommGroup A]
[InnerProductSpace 𝕜 A]
[Module.Finite 𝕜 A]
(x y : A)
:
theorem
QuantumSet.starAlgEquiv_is_isometry_tfae
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(f : A ≃⋆ₐ[ℂ] B)
:
theorem
QuantumSet.starAlgEquiv_isometry_iff_adjoint_eq_symm
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
{f : A ≃⋆ₐ[ℂ] B}
:
theorem
QuantumSet.starAlgEquiv_isometry_iff_coalgHom
{A : Type u_3}
{B : Type u_5}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(gns₁ : k A = 0)
(gns₂ : k B = 0)
{f : A ≃⋆ₐ[ℂ] B}
:
theorem
StarAlgEquiv.isReal
{R : Type u_2}
{A : Type u_3}
{B : Type u_4}
[Semiring R]
[AddCommMonoid A]
[AddCommMonoid B]
[Mul A]
[Mul B]
[Module R A]
[Module R B]
[Star A]
[Star B]
(f : A ≃⋆ₐ[R] B)
:
theorem
QuantumSet.starAlgEquiv_commutes_with_modAut_of_isometry
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
{f : A ≃⋆ₐ[ℂ] B}
(hf : Isometry ⇑f)
:
theorem
QuantumSet.starAlgEquiv_commutes_with_modAut_of_isometry'
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
{f : A ≃⋆ₐ[ℂ] B}
(hf : Isometry ⇑f)
:
f.toLinearMap ∘ₗ (modAut (2 * k A + 1)).toLinearMap = (modAut (2 * k B + 1)).toLinearMap ∘ₗ f.toLinearMap
theorem
tenSwap_lTensor_comul_one_eq_Psi
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(f : A →ₗ[ℂ] B)
:
(tenSwap ℂ) ((LinearMap.lTensor A (↑(op ℂ) ∘ₗ f)) (CoalgebraStruct.comul 1)) = (QuantumSet.Psi 0 (k A + 1)) f
theorem
map_op_comul_one_eq_Psi
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(f : A →ₗ[ℂ] B)
:
theorem
tenSwap_apply_lTensor
{R : Type u_2}
{A : Type u_3}
{B : Type u_4}
{C : Type u_5}
[CommSemiring R]
[AddCommMonoid A]
[AddCommMonoid C]
[Module R A]
[AddCommMonoid B]
[Module R B]
[Module R C]
(f : B →ₗ[R] C)
(x : TensorProduct R A Bᵐᵒᵖ)
:
theorem
Psi_inv_comp_swap_lTensor_op_comp_comul_eq_rmul
{A : Type u_2}
[ha : starAlgebra A]
[hA : QuantumSet A]
:
↑(QuantumSet.Psi 0 (k A + 1)).symm ∘ₗ ↑(tenSwap ℂ) ∘ₗ LinearMap.lTensor A ↑(op ℂ) ∘ₗ CoalgebraStruct.comul = rmul
theorem
QuantumSet.Psi_apply_one_one
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
:
theorem
QuantumSet.Psi_symm_apply_one
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(t r : ℝ)
:
@[reducible, inline]
noncomputable abbrev
Upsilon
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
:
Equations
Instances For
@[simp]
theorem
Upsilon_apply
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(a✝ : A →ₗ[ℂ] B)
:
Upsilon a✝ = (LinearEquiv.lTensor A (unop ℂ))
((TensorProduct.map ↑(unop ℂ) ↑(op ℂ)) ((TensorProduct.comm ℂ B Aᵐᵒᵖ) ((QuantumSet.Psi_toFun 0 (k A + 1)) a✝)))
@[simp]
theorem
Upsilon_symm_apply
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(a✝ : TensorProduct ℂ A B)
:
Upsilon.symm a✝ = (QuantumSet.Psi_invFun 0 (k A + 1))
((TensorProduct.comm ℂ B Aᵐᵒᵖ).symm
((TensorProduct.map ↑(op ℂ) ↑(op ℂ).symm) ((LinearEquiv.lTensor A (unop ℂ)).symm a✝)))
theorem
Upsilon_apply_one_one
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
:
theorem
Upsilon_symm_apply_one
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
:
theorem
Upsilon_rankOne
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(a : A)
(b : B)
:
theorem
Upsilon_symm_tmul
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(a : A)
(b : B)
:
theorem
rmulMapLmul_apply_Upsilon_eq
{A : Type u_2}
{B : Type u_3}
[hb : starAlgebra B]
[ha : starAlgebra A]
[hA : QuantumSet A]
[hB : QuantumSet B]
(x : A →ₗ[ℂ] B)
:
rmulMapLmul (Upsilon x) = LinearMap.lTensor A (LinearMap.mul' ℂ B) ∘ₗ ↑(TensorProduct.assoc ℂ A B B) ∘ₗ LinearMap.rTensor B (LinearMap.lTensor A x) ∘ₗ LinearMap.rTensor B CoalgebraStruct.comul