Documentation

LeanPool.Monlib4.QuantumGraph.QamA

Single-edged quantum graphs #

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

noncomputable def qamA {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} ( : φ.IsFaithfulPosMap) (x : { x : Matrix n n // x 0 }) :

The rank-one quantum adjacency map associated to a nonzero matrix.

Equations
Instances For
    theorem qamA_eq {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    theorem qamA.toMatrix {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    .toMatrix (qamA x) = (1 / x ^ 2) Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) (x * φ.matrix) (.rpow (1 / 2) * x * .rpow (1 / 2)).conj
    theorem qamA.ne_zero {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    qamA x 0

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

    theorem qamA.smul {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) (α : ˣ) :
    qamA (α x) = qamA 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 qamA.is_idempotent {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    (Qam.reflIdempotent (qamA x)) (qamA x) = qamA x
    theorem Psi.schurMul_faithful {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (r₁ r₂ : ) (f g : Matrix n n →ₗ[] Matrix n n ) :
    (.psi r₁ r₂) (f •ₛ g) = (.psi r₁ r₂) f * (.psi r₁ r₂) g
    theorem qamA.isReal {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    theorem Qam.RankOne.symmetric_eq {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : Matrix n n ) :
    (symmMap (Matrix n n ) (Matrix n n )) (((rankOne ) x) x) = (((rankOne ) ((.sig (-1)) x.conjTranspose)) x.conjTranspose)
    theorem Qam.RankOne.symmetric'_eq {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : Matrix n n ) :
    (symmMap (Matrix n n ) (Matrix n n )).symm (((rankOne ) x) x) = (((rankOne ) x.conjTranspose) ((.sig (-1)) x.conjTranspose))
    theorem sig_comp_eq_iff_eq_sig_inv_comp {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (r : ) (a b : Matrix n n →ₗ[] Matrix n n ) :
    (.sig r).toLinearMap ∘ₗ a = b a = (.sig (-r)).toLinearMap ∘ₗ b
    theorem sig_eq_iff_eq_sig_inv {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (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] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (r : ) (a b : Matrix n n →ₗ[] Matrix n n ) :
    a ∘ₗ (.sig r).toLinearMap = b a = b ∘ₗ (.sig (-r)).toLinearMap
    theorem sig_eq_self_iff_commute {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : Matrix n n ) :
    (.sig 1) x = x Commute φ.matrix x
    theorem qamA.of_is_self_adjoint {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) (h : LinearMap.adjoint (qamA x) = qamA x) :
    theorem qamA.is_self_adjoint_of {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) (hx₁ : (↑x).IsAlmostHermitian) (hx₂ : Commute φ.matrix x) :
    theorem qamA.is_self_adjoint_iff {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    theorem qamA.isRealQam {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    RealQam (qamA x)
    theorem Matrix.PosDef.ne_zero {n : Type u_1} [Finite n] [Nontrivial n] {Q : Matrix n n } (hQ : Q.PosDef) :
    Q 0
    theorem qamA.edges {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x : { x : Matrix n n // x 0 }) :
    .edges = 1
    theorem qamA.is_irreflexive_iff {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] [Nontrivial n] (x : { x : Matrix n n // x 0 }) :
    (Qam.reflIdempotent (qamA x)) 1 = 0 (↑x).trace = 0
    theorem qamA.is_almost_injective {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] (x y : { x : Matrix n n // x 0 }) :
    qamA x = qamA y ∃ (α : ˣ), x = α y
    theorem qamA.is_reflexive_iff {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] [Nontrivial n] (x : { x : Matrix n n // x 0 }) :
    (Qam.reflIdempotent (qamA x)) 1 = 1 ∃ (α : ˣ), x = α φ.matrix⁻¹
    theorem Qam.unique_one_edge_and_refl {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] [Nontrivial n] [Nonempty n] {A : Matrix n n →ₗ[] Matrix n n } (hA : RealQam A) :
    hA.edges = 1 (reflIdempotent A) 1 = 1 A = trivialGraph (Matrix n n )
    theorem qamA.iso_iff {n : Type u_1} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [ : φ.IsFaithfulPosMap] [Nontrivial n] {x y : { x : Matrix n n // x 0 }} :
    Qam.Iso (qamA x) (qamA y) ∃ (U : (Matrix.unitaryGroup n )), (∃ (β : ˣ), x = (Matrix.innerAut U) (β y)) Commute φ.matrix U