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