1function f = moment_joint_factorial_from_raw(m)
2% f = moment_joint_factorial_from_raw(m)
4% Converts the joint power (raw) moments m_(i_1,...,i_d) = E[prod_j N_j^(i_j)]
5% of a random vector (N_1,...,N_d) into the joint factorial moments
6% f_(i_1,...,i_d) = E[prod_j (N_j)_(i_j)], where (N)_i = N(N-1)...(N-i+1), by
7% applying the
signed Stirling numbers of the first kind separately along
10% f_(i) =
sum_(k) prod_j s(i_j,k_j) * m_(k)
12% The joint conversion
is the Kronecker product of the univariate ones,
13% which
is what makes the mode-by-mode evaluation legitimate. Only the
14% cumulant and the central conversions are not of
this separable
form.
17% m: array of size (n_1+1)x...x(n_d+1) holding the joint raw
18% moments, element (i_1+1,...,i_d+1) being the moment of
19% multi-order (i_1,...,i_d) and element 1 being 1
22% f: array of the same size holding the joint factorial moments
25% A. Heindl and A. van de Liefvoort. Moment conversions for discrete
26% distributions. PMCCS, 2003.
28f = moment_jointtrans(m, 'factorial_from_raw');