Is there an automatic way to invert GeneratingFunction of a sequence of matrix powers $M^0,M^1,\ldots$? IE, in code below, obtain timeDomain from freqDomain?
ii = IdentityMatrix[2];
dd = -DiagonalMatrix[{1/2, 1/3}];
timeDomain = MatrixPower[ii + dd, t];
freqDomain = GeneratingFunction[timeDomain, t, s]
When dd is small, $(1+d)^t\approx \exp d t$ and we can do inverse mapping using InverseLaplace
ClearAll["Global`*"];
ii = IdentityMatrix[2];
dd = -DiagonalMatrix[{1/2, 1/3}];
timeDomain = MatrixExp[t dd];
freqDomain[x_] = GeneratingFunction[MatrixPower[dd, t], t, x];
timeDomain == InverseLaplaceTransform[1/s freqDomain[1/s], s, t]
Edit For special case of 1x1 matrices, inversion appears workable by using contour integration:
Clear[A,t,inv,pow,freqDomain,timeDomain];
pow[A_,k_]=A^k;
ii=1;
A=-1/5;
timeDomain=pow[ii+A,t];
freqDomain[x_]=GeneratingFunction[timeDomain,t,x];
t=3;
(2I Pi)timeDomain==Integrate[x^(t-1)freqDomain[1/x],{x,1,I,-1,-I,1}] (* True *)
GeneratingFunctionalso shows that one can obtain an explicit formula using SeriesCoefficient. – userrandrand Apr 17 '23 at 20:31