1

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 *)
Yaroslav Bulatov
  • 7,793
  • 1
  • 19
  • 44
  • Why do you want to use InverseLaplaceTransform instead of SeriesCoefficient to invert the generating function as in the Properties and Relations section of GeneratingFunction – userrandrand Apr 17 '23 at 14:20
  • @userrandrand because this approach gives an explicit formula for t'th coefficient (if you don't set t) – Yaroslav Bulatov Apr 17 '23 at 16:01
  • SeriesCoefficient also gives an explicit formula if you use a symbolic t. I tested it and it retrieved the original function for generic t after simplifying with t>0 as a condition. – userrandrand Apr 17 '23 at 19:59
  • I used GeneratingFunction and SeriesCoefficient in this answer to retrieve a recurrence formula for an integral : https://mathematica.stackexchange.com/a/277989/86543 – userrandrand Apr 17 '23 at 20:04
  • 1
    also the Properties and Relations section of GeneratingFunction also shows that one can obtain an explicit formula using SeriesCoefficient. – userrandrand Apr 17 '23 at 20:31

0 Answers0