%I #18 Feb 18 2025 04:03:29
%S 0,-1,4,4,-12,-12,-12,-12,32,32,32,32,32,32,-80,32,32,-80,32,-80,-80,
%T -80,-80,-80,192,-80,192,-80,-80,192,-80,-80,192,-80,192,192,-80,-80,
%U 192,192,-80,192,-80,192,-448,192,192,192,192,-448,192,192,-80,-448,-448,192,192,192,-80,-448
%N The determinant of the distance matrix of the rooted tree having Matula number n.
%C 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.
%H Emeric Deutsch, <a href="http://arxiv.org/abs/1111.4288"> Rooted tree statistics from Matula numbers</a>, arXiv:1111.4288 [math.CO], 2011.
%H F. Goebel, <a href="http://dx.doi.org/10.1016/0095-8956(80)90049-0">On a 1-1-correspondence between rooted trees and natural numbers</a>, J. Combin. Theory, B 29 (1980), 141-143.
%H I. Gutman and A. Ivic, <a href="http://dx.doi.org/10.1016/0012-365X(95)00182-V">On Matula numbers</a>, Discrete Math., 150, 1996, 131-142.
%H I. Gutman and Yeong-Nan Yeh, <a href="http://www.emis.de/journals/PIMB/067/3.html">Deducing properties of trees from their Matula numbers</a>, Publ. Inst. Math., 53 (67), 1993, 17-22.
%H D. W. Matula, <a href="http://www.jstor.org/stable/2027327">A natural rooted tree enumeration by prime factorization</a>, SIAM Rev. 10 (1968) 273.
%H <a href="/index/Mat#matula">Index entries for sequences related to Matula-Goebel numbers</a>
%F The Maple program d finds recursively the distance matrix (time consuming).
%e a(2) = -1 because the rooted tree with Matula number 2 is the one-edge tree with distance matrix [(0,1), (1,0)].
%p 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 60 do dd[n] := d(n) end do: seq(Determinant(dd[n]), n = 1 .. 60);
%K sign,changed
%O 1,3
%A _Emeric Deutsch_, Apr 14 2012