A198341 The overall hyper-Wiener index of the rooted tree having Matula-Goebel number n.
0, 1, 7, 7, 28, 28, 30, 30, 84, 84, 84, 94, 94, 94, 210, 104, 94, 247, 104, 243, 243, 210, 247, 283, 462, 247, 579, 278, 243, 565, 210, 320, 462, 243, 547, 681, 283, 283, 565, 667, 247, 661, 278, 547, 1216, 579, 565, 793, 644, 1174, 547, 661, 320, 1506, 924
Offset: 1
Keywords
Examples
a(4)=7 because the rooted tree with Matula-Goebel number 4 is V; each of the 3 one-vertex subtrees has hyper-Wiener index 0, each of the 2 one-edge subtrees has hyper-Wiener index 1, and the tree V itself has hyper-Wiener index 5; 0+0+0+1+1+5=7.
References
- 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 Review, 10, 1968, 273.
- D. Bonchev, The overall Wiener index - a new tool for characterization of molecular topology, J. Chem. Inf. Comput. Sci., 2001, 41, 582-592.
- X. H. Li and J. J. Lin, The overall hyper-Wiener index, J. Math. Chemistry, 33, 2003, 81-89.
Links
- E. Deutsch, Rooted tree statistics from Matula numbers, arXiv:1111.4288.
- Index entries for sequences related to Matula-Goebel numbers
Programs
-
Maple
m2union := proc (x, y) sort([op(x), op(y)]) end proc: with(numtheory); MRST := 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, seq(ithprime(mrst[pi(n)][i]), i = 1 .. nops(mrst[pi(n)]))] else [seq(seq(mrst[r(n)][i]*mrst[s(n)][j], i = 1 .. nops(mrst[r(n)])), j = 1 .. nops(mrst[s(n)]))] end if end proc: MNRST := 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 [] elif bigomega(n) = 1 then m2union(mrst[pi(n)], mnrst[pi(n)]) else m2union(mnrst[r(n)], mnrst[s(n)]) end if end proc: MST := proc (n) m2union(mrst[n], mnrst[n]) end proc: for n to 3000 do mrst[n] := MRST(n): mnrst[n] := MNRST(n): mst[n] := MST(n) end do: W := 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(W(pi(n))+x*R(pi(n))+x)) else sort(expand(W(r(n))+W(s(n))+R(r(n))*R(s(n)))) end if end proc: HW := proc (n) options operator, arrow: subs(x = 1, diff(W(n), x)+(1/2)*(diff(W(n), `$`(x, 2)))) end proc: OHW := proc (n) options operator, arrow: add(HW(MST(n)[j]), j = 1 .. nops(MST(n))) end proc: seq(OHW(n), n = 1 .. 60);
Comments