Documentation

Atlas.AnAlgorithmistsToolkit.code.SpectraCommonGraphs

@[reducible, inline]
abbrev SimpleGraph.cartesianProduct {V : Type u_1} {W : Type u_2} (G : SimpleGraph V) (H : SimpleGraph W) :
Instances For
    @[reducible, inline]
    Instances For
      noncomputable def SpectraCommonGraphs.ringEigenvalue (n k : ) :
      Instances For
        noncomputable def SpectraCommonGraphs.cosEigenvector (n k : ) (u : Fin n) :
        Instances For
          noncomputable def SpectraCommonGraphs.sinEigenvector (n k : ) (u : Fin n) :
          Instances For
            theorem SpectraCommonGraphs.cos_nat_mod_period (k n : ) (hn : n 0) (a : ) :
            Real.cos (2 * Real.pi * k * ↑(a % n) / n) = Real.cos (2 * Real.pi * k * a / n)
            theorem SpectraCommonGraphs.sin_nat_mod_period (k n : ) (hn : n 0) (a : ) :
            Real.sin (2 * Real.pi * k * ↑(a % n) / n) = Real.sin (2 * Real.pi * k * a / n)
            theorem SpectraCommonGraphs.cos_real_periodic_add (k m : ) (hm : m 0) (a : ) :
            Real.cos (2 * Real.pi * k * (a + m) / m) = Real.cos (2 * Real.pi * k * a / m)
            theorem SpectraCommonGraphs.sin_real_periodic_add (k m : ) (hm : m 0) (a : ) :
            Real.sin (2 * Real.pi * k * (a + m) / m) = Real.sin (2 * Real.pi * k * a / m)
            theorem SpectraCommonGraphs.fin_sub_one_ne_add_one {n : } (v : Fin (n + 3)) :
            v - 1 v + 1
            def GraphProductSpectrum.vecTensor {V : Type u_1} {W : Type u_2} (v : V) (w : W) :
            V × W
            Instances For
              theorem GraphProductSpectrum.kronecker_one_mulVec_tensor {V : Type u_1} {W : Type u_2} [Fintype V] [Fintype W] [DecidableEq V] [DecidableEq W] (A : Matrix V V ) (v : V) (w : W) :
              (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) A 1).mulVec (vecTensor v w) = vecTensor (A.mulVec v) w
              theorem GraphProductSpectrum.one_kronecker_mulVec_tensor {V : Type u_1} {W : Type u_2} [Fintype V] [Fintype W] [DecidableEq V] [DecidableEq W] (B : Matrix W W ) (v : V) (w : W) :
              (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) 1 B).mulVec (vecTensor v w) = vecTensor v (B.mulVec w)
              theorem GraphProductSpectrum.kronecker_sum_eigenvector {V : Type u_1} {W : Type u_2} [Fintype V] [Fintype W] [DecidableEq V] [DecidableEq W] (A : Matrix V V ) (B : Matrix W W ) (v : V) (w : W) (eigA eigB : ) (hv : A.mulVec v = eigA v) (hw : B.mulVec w = eigB w) :
              (Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) A 1 + Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) 1 B).mulVec (vecTensor v w) = (eigA + eigB) vecTensor v w
              @[implicit_reducible]
              theorem GraphProductSpectrum.boxProd_degree_eq {V : Type u_1} {W : Type u_2} [Fintype V] [Fintype W] [DecidableEq V] [DecidableEq W] (G : SimpleGraph V) (H : SimpleGraph W) [DecidableRel G.Adj] [DecidableRel H.Adj] (v : V) (w : W) :
              (G H).degree (v, w) = G.degree v + H.degree w
              theorem GraphProductSpectrum.lapMatrix_boxProd_eigenvector {V : Type u_1} {W : Type u_2} [Fintype V] [Fintype W] [DecidableEq V] [DecidableEq W] (G : SimpleGraph V) (H : SimpleGraph W) [DecidableRel G.Adj] [DecidableRel H.Adj] (v : V) (w : W) (eigG eigH : ) (hv : (SimpleGraph.lapMatrix G).mulVec v = eigG v) (hw : (SimpleGraph.lapMatrix H).mulVec w = eigH w) :
              (SimpleGraph.lapMatrix (G H)).mulVec (vecTensor v w) = (eigG + eigH) vecTensor v w