login
A206489
The permanent of the distance matrix of the rooted tree having Matula number n.
0
0, 1, 4, 4, 64, 64, 36, 36, 1152, 1152, 1152, 656, 656, 656, 34372, 352, 656, 15236, 352, 19856, 19856, 34372, 15236, 8272, 1335008, 15236, 413904, 11028, 19856, 573408, 34372, 4240, 1335008, 19856, 809280, 226528, 8272, 8272, 573408, 322624, 15236, 328512, 11028, 809280, 18489168, 413904, 573408, 118720, 479936, 26095936
OFFSET
1,3
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.
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 Y-N. 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.
FORMULA
The Maple program d finds recursively the distance matrix (time consuming).
EXAMPLE
a(2)=-1 because the rooted tree with Matula number 2 is the one-edge tree with distance matrix [(0,1), (1,0)].
MAPLE
with(numtheory): with(linalg): with(LinearAlgebra): V := 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+V(pi(n)) else V(r(n))+V(s(n))-1 end if end proc: d := proc (n) local r, s, C, a: r := proc (n) options operator, arrow: op(1, factorset(n)) end proc: s := proc (n) options operator, arrow: n/r(n) end proc; C := proc (A, B) local c: c := proc (i, j) options operator, arrow: A[1, i]+B[1, j+1] end proc: Matrix(RowDimension(A), RowDimension(B)-1, c) end proc: a := proc (i, j) if i = 1 and j = 1 then 0 elif 2 <= i and 2 <= j then d(pi(n))[i-1, j-1] elif i = 1 then 1+d(pi(n))[1, j-1] elif j = 1 then 1+d(pi(n))[i-1, 1] else end if end proc: if n = 1 then Matrix(1, 1, [0]) elif bigomega(n) = 1 then Matrix(V(n), V(n), a) else Matrix(blockmatrix(2, 2, [d(r(n)), C(d(r(n)), d(s(n))), Transpose(C(d(r(n)), d(s(n)))), SubMatrix(d(s(n)), 2 .. RowDimension(d(s(n))), 2 .. RowDimension(d(s(n))))])) end if end proc: for n to 50 do dd[n] := d(n) end do: seq(Permanent(dd[n]), n = 1 .. 50);
CROSSREFS
Sequence in context: A156483 A212328 A214615 * A124399 A119600 A244027
KEYWORD
nonn
AUTHOR
Emeric Deutsch, Apr 14 2012
STATUS
approved