Single-edged quantum graphs #
This file defines the single-edged quantum graph, and proves that it is a QAM.
theorem
qamA.toMatrix
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
qamA.ne_zero
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // 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 ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
(α : ℂˣ)
:
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 ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
Psi.one
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
:
(hφ.psi 0 (1 / 2)) 1 = (TensorProduct.map 1 (Matrix.transposeAlgEquiv n ℂ ℂ).toLinearMap)
(Matrix.kroneckerToTensorProduct (hφ.toMatrix ↑(((rankOne ℂ) φ.matrix⁻¹) φ.matrix⁻¹)))
theorem
one_map_transpose_psi_eq
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(A : Matrix n n ℂ →ₗ[ℂ] Matrix n n ℂ)
:
(TensorProduct.map 1 (Matrix.transposeAlgEquiv n ℂ ℂ).symm.toLinearMap) ((hφ.psi 0 (1 / 2)) A) = (TensorProduct.map A 1) (Matrix.kroneckerToTensorProduct (hφ.toMatrix ↑(((rankOne ℂ) φ.matrix⁻¹) φ.matrix⁻¹)))
theorem
qamA.isReal
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
LinearMap.IsReal (qamA hφ x)
theorem
sig_eq_lmul_rmul
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(t : ℝ)
:
theorem
Qam.RankOne.symmetric_eq
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : Matrix n n ℂ)
:
theorem
Qam.RankOne.symmetric'_eq
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : Matrix n n ℂ)
:
theorem
sig_comp_eq_iff_eq_sig_inv_comp
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(r : ℝ)
(a b : Matrix n n ℂ →ₗ[ℂ] Matrix n n ℂ)
:
theorem
sig_eq_iff_eq_sig_inv
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(r : ℝ)
(a b : Matrix n n ℂ)
:
theorem
comp_sig_eq_iff_eq_comp_sig_inv
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(r : ℝ)
(a b : Matrix n n ℂ →ₗ[ℂ] Matrix n n ℂ)
:
theorem
sig_eq_self_iff_commute
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : Matrix n n ℂ)
:
theorem
qamA.of_is_self_adjoint
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
(h : LinearMap.adjoint (qamA hφ x) = qamA hφ x)
:
theorem
qamA.is_self_adjoint_of
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.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 ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
qamA.isRealQam
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
Matrix.PosDef.ne_zero
{n : Type u_1}
[Finite n]
[Nontrivial n]
{Q : Matrix n n ℂ}
(hQ : Q.PosDef)
:
theorem
qamA.edges
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
qamA.is_irreflexive_iff
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
[Nontrivial n]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
qamA.is_reflexive_iff
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
[Nontrivial n]
(x : { x : Matrix n n ℂ // x ≠ 0 })
:
theorem
qamA.of_trivialGraph
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
[Nontrivial n]
[Nonempty n]
:
theorem
Qam.unique_one_edge_and_refl
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
[Nontrivial n]
[Nonempty n]
{A : Matrix n n ℂ →ₗ[ℂ] Matrix n n ℂ}
(hA : RealQam hφ A)
:
theorem
qamA.isometric_starAlgEquiv_conj
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
[Nontrivial n]
(x : { x : Matrix n n ℂ // x ≠ 0 })
{f : Matrix n n ℂ ≃⋆ₐ[ℂ] Matrix n n ℂ}
:
StarAlgEquiv.IsIsometry ⇑f → f.toAlgEquiv.toLinearMap ∘ₗ qamA hφ x ∘ₗ f.symm.toAlgEquiv.toLinearMap = qamA hφ ⟨f ↑x, ⋯⟩
theorem
qamA.iso_iff
{n : Type u_1}
[Fintype n]
[DecidableEq n]
{φ : Module.Dual ℂ (Matrix n n ℂ)}
[hφ : φ.IsFaithfulPosMap]
[Nontrivial n]
{x y : { x : Matrix n n ℂ // x ≠ 0 }}
: