mathlib3 documentation

monlib / quantum_graph.qam_A

Single-edged quantum graphs #

This file defines the single-edged quantum graph, and proves that it is a QAM.

noncomputable def qam_A {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} (hφ : φ.is_faithful_pos_map) (x : {x // x 0}) :
Equations
theorem qam_A.to_matrix {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) :
theorem qam_A.ne_zero {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) :
qam_A _ x 0

given a non-zero matrix $x$, we always get $A(x)$ is non-zero

theorem qam_A.smul {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) (α : ˣ) :
qam_A _ x) = qam_A _ x

Given any non-zero matrix $x$ and non-zero $\alpha\in\mathbb{C}$ we have $$A(\alpha x)=A(x),$$ in other words, it is not injective. However, it is_almost_injective (see qam_A.is_almost_injective).

theorem qam_A.is_idempotent {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) :
theorem qam_A.is_real {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) :
theorem sig_comp_eq_iff_eq_sig_inv_comp {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (r : ) (a b : matrix n n →ₗ[] matrix n n ) :
theorem sig_eq_iff_eq_sig_inv {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (r : ) (a b : matrix n n ) :
(_.sig r) a = b a = (_.sig (-r)) b
theorem comp_sig_eq_iff_eq_comp_sig_inv {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (r : ) (a b : matrix n n →ₗ[] matrix n n ) :
theorem sig_eq_self_iff_commute {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : matrix n n ) :
(_.sig 1) x = x commute φ.matrix x
theorem qam_A.is_self_adjoint_of {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) (hx₁ : x.is_almost_hermitian) (hx₂ : commute φ.matrix x) :
theorem qam_A.is_real_qam {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) :
real_qam _ (qam_A _ x)
theorem matrix.pos_def.ne_zero {n : Type u_1} [fintype n] [decidable_eq n] [nontrivial n] {Q : matrix n n } (hQ : Q.pos_def) :
Q 0
theorem qam_A.edges {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x : {x // x 0}) :
_.edges = 1
theorem qam_A.is_irreflexive_iff {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] [nontrivial n] (x : {x // x 0}) :
theorem qam_A.is_almost_injective {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] (x y : {x // x 0}) :
qam_A _ x = qam_A _ y (α : ˣ), x = α y
theorem qam_A.is_reflexive_iff {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] [nontrivial n] (x : {x // x 0}) :
theorem qam_A.iso_iff {n : Type u_1} [fintype n] [decidable_eq n] {φ : module.dual (matrix n n )} [hφ : fact φ.is_faithful_pos_map] [nontrivial n] {x y : {x // x 0}} :