While this submission is a draft, it cannot be used by other submissions.

Homomorphism polynomials

Lax461425.HomomorphismPolynomials · concepts/Lax461425/HomomorphismPolynomials.lean · lax-461425

definition

Loading review…

Sign in with ORCID

Community review

Flags

Each flag is tied to a public ORCID identity and explains why this concept may be incorrect.

No flags have been submitted.

    Community review

    Flag this concept

    State precisely what appears incorrect. This explanation will be public under your ORCID name.

    No source line selected.

    Natural Language Statement

    Definition

    A pattern is a finite bipartite multigraph FF with a fixed bipartition A⊎BA \uplus B, where parallel edges are allowed. It is given by the multiplicity F(a,b)∈NF(a, b) \in \mathbb{N} of the edge abab for all a∈Aa \in A and b∈Bb \in B. Its vertex set is V(F)=A⊎BV(F) = A \uplus B, and its edges are the pairs abab with F(a,b)>0F(a,b) > 0. For n∈Nn \in \mathbb{N}, the homomorphism polynomial of FF is

    hom⁡F,n=∑hA:A→[n]hB:B→[n]∏ab∈E(F)xhA(a),hB(b)∈K[Xn],\hom_{F,n} = \sum_{\substack{h_A \colon A \to [n] \\ h_B \colon B \to [n]}} \prod_{ab \in E(F)} x_{h_A(a), h_B(b)} \in \mathbb{K}[\mathcal{X}_n],

    where the product counts edges with multiplicity. On the bi-adjacency matrix of a bipartite graph, it counts the homomorphisms respecting the bipartitions.

    Concept map
    1 concept; 6 descendants hidden
    100%
    Proven claimDefinitionThis conceptRelated conceptA → B: B builds on A

    Lean source view on GitHub

    1import Mathlib.Algebra.MvPolynomial.Basic
    2
    3/-!
    4---
    5title: Homomorphism polynomials
    6type: definition
    7---
    8A *pattern* is a finite bipartite multigraph FF with a fixed bipartition A⊎BA \uplus B, where
    9parallel edges are allowed. It is given by the multiplicity F(a,b)∈NF(a, b) \in \mathbb{N} of the
    10edge abab for all a∈Aa \in A and b∈Bb \in B. Its vertex set is V(F)=A⊎BV(F) = A \uplus B, and its edges
    11are the pairs abab with F(a,b)>0F(a,b) > 0. For n∈Nn \in \mathbb{N}, the *homomorphism polynomial* of
    12FF is
    13
    14hom⁡F,n=∑hA:A→[n]hB:B→[n]∏ab∈E(F)xhA(a),hB(b)∈K[Xn],\hom_{F,n} = \sum_{\substack{h_A \colon A \to [n] \\ h_B \colon B \to [n]}} \prod_{ab \in E(F)} x_{h_A(a), h_B(b)} \in \mathbb{K}[\mathcal{X}_n],
    15
    16
    17where the product counts edges with multiplicity. On the bi-adjacency matrix of a bipartite
    18graph, it counts the homomorphisms respecting the bipartitions.
    19-/
    20
    21namespace Lax461425.HomomorphismPolynomials
    22
    23/-- A finite bipartite multigraph with bipartition `A ⊎ B`. -/
    24structure Pattern where
    25 /-- The left side of the bipartition. -/
    26 A : Type
    27 /-- The right side of the bipartition. -/
    28 B : Type
    29 [fintypeA : Fintype A]
    30 [decEqA : DecidableEq A]
    31 [fintypeB : Fintype B]
    32 [decEqB : DecidableEq B]
    33 /-- `mult a b` is the number of edges between `a` and `b`. -/
    34 mult : A → B → ℕ
    35
    36attribute [instance] Pattern.fintypeA Pattern.decEqA Pattern.fintypeB Pattern.decEqB
    37
    38/-- The homomorphism polynomial `hom_{F,n}` in the variables `x_{i,j}` for `i, j ∈ [n]`. -/
    39noncomputable def hom (K : Type*) [CommSemiring K] (F : Pattern) (n : ℕ) :
    40 MvPolynomial (Fin n × Fin n) K :=
    41 ∑ hA : F.A → Fin n, ∑ hB : F.B → Fin n, ∏ a, ∏ b, MvPolynomial.X (hA a, hB b) ^ F.mult a b
    42
    43end Lax461425.HomomorphismPolynomials
    44

    Discussion

    Ask a question or add context. Endorsements and structured flags are kept in the review panel above.

    Loading discussion…