cp's OEIS Frontend

This is a front-end for the Online Encyclopedia of Integer Sequences, made by Christian Perfect. The idea is to provide OEIS entries in non-ancient HTML, and then to think about how they're presented visually. The source code is on GitHub.

A193406 The Matula numbers of the rooted trees that have no perfect matchings.

Original entry on oeis.org

1, 3, 4, 7, 8, 9, 10, 11, 12, 13, 14, 16, 17, 19, 20, 21, 24, 25, 27, 28, 29, 30, 32, 33, 34, 35, 36, 37, 38, 39, 40, 42, 43, 44, 46, 47, 48, 49, 50, 51, 52, 53, 56, 57, 58, 59, 60, 61, 62, 63, 64, 67, 68, 70, 71, 72, 73, 74, 75, 76, 77, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 95, 96, 97, 98, 99, 100
Offset: 1

Views

Author

Emeric Deutsch, Feb 12 2012

Keywords

Comments

The Matula-Goebel number of a rooted tree can be defined in the following recursive manner: to the one-vertex tree there corresponds the number 1; to a tree T with root degree 1 there corresponds the t-th prime number, where t is the Matula-Goebel number of the tree obtained from T by deleting the edge emanating from the root; to a tree T with root degree m>=2 there corresponds the product of the Matula-Goebel numbers of the m branches of T.
It is known that a tree has at most one perfect matching.
Complement of A193405.

Examples

			3 and 11 are in the sequence because they are the Matula numbers of paths on 3 and 5  vertices, respectively.
		

References

  • C. D. Godsil, Algebraic Combinatorics, Chapman & Hall, New York, 1993.

Crossrefs

Programs

  • Maple
    with(numtheory): N := proc (n) local r, s: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc: if n = 1 then 1 elif bigomega(n) = 1 then 1+N(pi(n)) else N(r(n))+N(s(n))-1 end if end proc: M := proc (n) local r, s: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc: if n = 1 then [0, 1] elif bigomega(n) = 1 then [x*M(pi(n))[2], M(pi(n))[1]+M(pi(n))[2]] else [M(r(n))[1]*M(s(n))[2]+M(r(n))[2]*M(s(n))[1], M(r(n))[2]*M(s(n))[2]] end if end proc: m := proc (n) options operator, arrow: sort(expand(M(n)[1]+M(n)[2])) end proc: NPM := {}: for n to 100 do if N(n) <> 2*degree(m(n)) then NPM := `union`(NPM, {n}) else  end if end do: NPM;
  • Mathematica
    r[n_] := FactorInteger[n][[1, 1]];
    s[n_] := n/r[n];
    V[n_] := Which[n == 1, 1, PrimeOmega[n] == 1, 1 + V[PrimePi[n]], True, V[r[n]] + V[s[n]] - 1];
    M[n_] := Which[n == 1, {0, 1}, PrimeOmega[n] == 1, {x*M[PrimePi[n]][[2]], Total[M[PrimePi[n]]]}, True, {M[r[n]][[1]]*M[s[n]][[2]] + M[r[n]][[2]]*M[s[n]][[1]], M[r[n]][[2]]*M[s[n]][[2]]}];
    m[n_] := M[n] // Total // Expand;
    NPM = {};
    Do[If[V[n] != 2 Exponent[m[n], x], NPM = Union[NPM, {n}]], {n, 1, 100}];
    NPM (* Jean-François Alcover, Jun 21 2024, after Maple code *)

Formula

Define b(n) (c(n)) to be the generating polynomials of the matchings of the rooted tree with Matula-Goebel number n that contain (do not contain) the root, with respect to the size of the matching. We have the following recurrence for the pair M(n)=[b(n),c(n)]. M(1)=[0,1]; if n=prime(t) (=the t-th prime), then M(n)=[xc(t),b(t)+c(t)]; if n=r*s (r,s,>=2), then M(n)=[b(r)*c(s)+c(r)*b(s), c(r)*c(s)]. Then m(n)=b(n)+c(n) is the generating polynomial of the matchings of the rooted tree with respect to the size of the matchings (a modified matching polynomial). The tree has a perfect matching if and only if the degree of this polynomial is 1/2 of the number of vertices of the tree.