OFFSET
1,3
COMMENTS
The Matula-Goebel number of a rooted tree is 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.
REFERENCES
O. Ivanciuc, T. Ivanciuc, D. J. Klein, W. A. Seitz, and A. T. Balaban, Wiener index extension by counting even/odd graph distances, J. Chem. Inf. Comput. Sci., 41, 2001, 536-549.
LINKS
Emeric Deutsch, Tree statistics from Matula numbers, arXiv preprint arXiv:1111.4288 [math.CO], 2011.
F. Goebel, On a 1-1-correspondence between rooted trees and natural numbers, J. Combin. Theory, B 29 (1980), 141-143.
I. Gutman and A. Ivic, On Matula numbers, Discrete Math., 150, 1996, 131-142.
I. Gutman and Yeong-Nan Yeh, Deducing properties of trees from their Matula numbers, Publ. Inst. Math., 53 (67), 1993, 17-22.
D. W. Matula, A natural rooted tree enumeration by prime factorization, SIAM Rev. 10 (1968) 273.
FORMULA
a(n) is the value at x=1 of the derivative of the odd part of the Wiener polynomial W(n)=W(n,x) of the rooted tree with Matula number n. W(n) is obtained recursively in A196059. The Maple program is based on the above.
EXAMPLE
a(7)=3 because the rooted tree with Matula-Goebel number 7 is the rooted tree Y with 3 distances equal to 1.
MAPLE
with(numtheory): WP := proc (n) local r, s, R: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc: R := proc (n) if n = 1 then 0 elif bigomega(n) = 1 then sort(expand(x*R(pi(n))+x)) else sort(expand(R(r(n))+R(s(n)))) end if end proc: if n = 1 then 0 elif bigomega(n) = 1 then sort(expand(WP(pi(n))+x*R(pi(n))+x)) else sort(expand(WP(r(n))+WP(s(n))+R(r(n))*R(s(n)))) end if end proc: a := proc (n) options operator, arrow: (1/2)*subs(x = 1, diff(WP(n), x))+(1/2)*subs(x = -1, diff(WP(n), x)) end proc: seq(a(n), n = 1 .. 80);
MATHEMATICA
r[n_] := FactorInteger[n][[1, 1]];
s[n_] := n/r[n];
R[n_] := Which[n == 1, 0, PrimeOmega[n] == 1, x*R[PrimePi[n]] + x, True, R[r[n]] + R[s[n]]];
WP[n_] := Which[n == 1, 0, PrimeOmega[n] == 1, WP[PrimePi[n]] + x*R[PrimePi[n]] + x, True, WP[r[n]] + WP[s[n]] + R[r[n]]*R[s[n]]];
a[n_] := (1/2)(D[WP[n], x] /. x -> 1) + (1/2)(D[WP[n], x] /. x -> -1);
Table[a[n], {n, 1, 80}] (* Jean-François Alcover, Jun 21 2024, after Maple code *)
CROSSREFS
KEYWORD
nonn
AUTHOR
Emeric Deutsch, Oct 15 2011
STATUS
approved