mathlib3 documentation

monlib / quantum_graph.example

Basic examples on quantum adjacency matrices #

This file contains elementary examples of quantum adjacency matrices, such as the complete graph and the trivial graph.

theorem pi.qam.complete_graph_eq' {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [hφ : (i : p), fact (φ i).is_faithful_pos_map] :
qam.complete_graph (Π (i : p), matrix (n i) (n i) ) = (algebra.linear_map (Π (i : p), matrix (n i) (n i) )).comp (linear_map.adjoint (algebra.linear_map (Π (i : p), matrix (n i) (n i) )))
theorem pi.qam.nontracial.complete_graph.is_real {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [hφ : (i : p), fact (φ i).is_faithful_pos_map] :
(qam.complete_graph (Π (i : p), matrix (n i) (n i) )).is_real
theorem pi.qam.nontracial.complete_graph.is_symm {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [hφ : (i : p), fact (φ i).is_faithful_pos_map] :
(linear_equiv.symm_map (Π (i : p), matrix (n i) (n i) )) (qam.complete_graph (Π (i : p), matrix (n i) (n i) )) = qam.complete_graph (Π (i : p), matrix (n i) (n i) )
theorem linear_map.pi_mul'_comp_mul'_adjoint_of_delta_form {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
(linear_map.mul' (Π (i : p), matrix (n i) (n i) )).comp (linear_map.adjoint (linear_map.mul' (Π (i : p), matrix (n i) (n i) ))) = δ 1
theorem qam.nontracial.delta_ne_zero {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} {δ : } [hφ : fact φ.is_faithful_pos_map] (hφ₂ : (φ.matrix)⁻¹.trace = δ) :
δ 0
theorem pi.qam.nontracial.delta_ne_zero {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
δ 0
@[instance]
noncomputable def pi.qam.nontracial.mul'_comp_mul'_adjoint.invertible {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
invertible ((linear_map.mul' (Π (i : p), matrix (n i) (n i) )).comp (linear_map.adjoint (linear_map.mul' (Π (i : p), matrix (n i) (n i) ))))
Equations
noncomputable def pi.qam.trivial_graph {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } (hφ : (i : p), fact (φ i).is_faithful_pos_map) (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
(Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i)
Equations
theorem qam.trivial_graph_eq {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} [hφ : fact φ.is_faithful_pos_map] {δ : } (hφ₂ : (φ.matrix)⁻¹.trace = δ) :
qam.trivial_graph hφ₂ = δ⁻¹ 1
theorem pi.qam.trivial_graph_eq {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
theorem qam.nontracial.trivial_graph.qam {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} [hφ : fact φ.is_faithful_pos_map] {δ : } (hφ₂ : (φ.matrix)⁻¹.trace = δ) :
theorem pi.qam.nontracial.trivial_graph.qam {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
theorem pi.qam.nontracial.trivial_graph.qam.is_self_adjoint {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
theorem qam.nontracial.trivial_graph {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} [hφ : fact φ.is_faithful_pos_map] {δ : } (hφ₂ : (φ.matrix)⁻¹.trace = δ) :
theorem pi.qam.nontracial.trivial_graph {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
theorem qam.refl_idempotent_one_one_of_delta {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} [hφ : fact φ.is_faithful_pos_map] {δ : } (hφ₂ : (φ.matrix)⁻¹.trace = δ) :
theorem pi.qam.refl_idempotent_one_one_of_delta {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
theorem pi.qam.lm.nontracial.is_unreflexive_iff_reflexive_add_one {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) (x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) ) :
theorem pi.qam.nontracial.complement'.qam.is_real {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [hφ : (i : p), fact (φ i).is_faithful_pos_map] (x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) ) :
noncomputable def qam.complement'' {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} {δ : } (hφ : fact φ.is_faithful_pos_map) (hφ₂ : (φ.matrix)⁻¹.trace = δ) (x : matrix p p →ₗ[] matrix p p ) :
Equations
noncomputable def pi.qam.complement'' {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } (hφ : (i : p), fact (φ i).is_faithful_pos_map) (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) (x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) ) :
(Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i)
Equations
theorem pi.schur_idempotent_reflexive_of_is_real {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [hφ : (i : p), fact (φ i).is_faithful_pos_map] {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } (hx : x.is_real) :
theorem qam.complement''_is_irreflexive_iff {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} {δ : } [hφ : fact φ.is_faithful_pos_map] (hφ₂ : (φ.matrix)⁻¹.trace = δ) {x : matrix p p →ₗ[] matrix p p } (hx : x.is_real) :
theorem pi.qam.complement''_is_irreflexive_iff {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } (hx : x.is_real) :
noncomputable def pi.qam.irreflexive_complement {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } (hφ : (i : p), fact (φ i).is_faithful_pos_map) (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) (x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) ) :
(Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i)
Equations
noncomputable def pi.qam.reflexive_complement {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } (hφ : (i : p), fact (φ i).is_faithful_pos_map) (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) (x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) ) :
(Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i)
Equations
theorem qam.nontracial.trivial_graph.is_real {p : Type u_1} [fintype p] [decidable_eq p] [nonempty p] {φ : module.dual (matrix p p )} [hφ : fact φ.is_faithful_pos_map] {δ : } (hφ₂ : (φ.matrix)⁻¹.trace = δ) :
theorem pi.qam.nontracial.trivial_graph.is_real {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
theorem pi.qam.irreflexive_complement.is_real {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } (hx : x.is_real) :
theorem pi.qam.reflexive_complement.is_real {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } (hx : x.is_real) :
theorem pi.qam.irreflexive_complement_irreflexive_complement {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } :
theorem pi.qam.reflexive_complement_reflexive_complement {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } :
theorem pi.qam.trivial_graph_reflexive_complement_eq_complete_graph {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
pi.qam.reflexive_complement hφ₂ (pi.qam.trivial_graph hφ₂) = qam.complete_graph (Π (i : p), matrix (n i) (n i) )
theorem pi.qam.complete_graph_reflexive_complement_eq_trivial_graph {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) :
pi.qam.reflexive_complement hφ₂ (qam.complete_graph (Π (i : p), matrix (n i) (n i) )) = pi.qam.trivial_graph hφ₂
theorem pi.qam.irreflexive_complement_is_irreflexive_qam_iff_irreflexive_qam {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } (hx : x.is_real) :
theorem pi.qam.reflexive_complment_is_reflexive_qam_iff_reflexive_qam {p : Type u_1} [fintype p] [decidable_eq p] {n : p Type u_2} [Π (i : p), fintype (n i)] [Π (i : p), decidable_eq (n i)] {φ : Π (i : p), module.dual (matrix (n i) (n i) )} [nonempty p] [ (i : p), nontrivial (n i)] {δ : } [hφ : (i : p), fact (φ i).is_faithful_pos_map] (hφ₂ : (i : p), ((φ i).matrix)⁻¹.trace = δ) {x : (Π (i : p), matrix (n i) (n i) ) →ₗ[] Π (i : p), matrix (n i) (n i) } (hx : x.is_real) :