I am trying to write a function that generalizes the Laplace and Fourier transforms, but I'm having trouble getting Integrate to play along. The function is called FLTransform in the following snippet, where FTransform and LTransform are the equivalent Fourier and Laplace transforms, respectively:
FTransform[expr_, t_, \[Omega]_] := FourierTransform[expr, t, \[Omega], FourierParameters -> {1, -1}];
LTransform[expr_, t_, s_] := BilateralLaplaceTransform[expr, t, s];
FLTransform[expr_, t_, s_] := Integrate[expr Exp[-s t], {t, -\[Infinity], \[Infinity]}];
First, I tried Cos[t]. The Fourier transform is defined for this function, but the Laplace transform is not (well, it is only defined for Re[s] == 0):
f[t] := Cos[t];
FTransform[f[t], t, \[Omega]]
LTransform[f[t], t, s]
FLTransform[f[t], t, s]
FTransform and LTransform yield the following outputs:
\[Pi] DiracDelta[-1 + \[Omega]] + \[Pi] DiracDelta[1 + \[Omega]]
BilateralLaplaceTransform[Cos[t], t, s]
However, FLTransform fails with the message Integrate::idiv, as the integral does not technically converge (thus the DiracDelta). Is it possible to rectify this somehow?
FTransformandLTransformare not equivalent ? – Mariusz Iwaniuk Apr 10 '23 at 19:55FourierTransformevaluate thatIntegratecannot? and the discussion therein, which I think may be a duplicate of this question. – MarcoB Apr 10 '23 at 20:06Re[s] == 0, they are mathematically equivalent in that $s = i \omega$. Perhaps I should have stated this with something likeFTransform[expr_, t_, s_] := FourierTransform[expr, t, s/I, FourierParameters -> {1, -1}];- frankly, I wasn't sure if this is allowed. – QuaternionsRock Apr 10 '23 at 20:16BilateralLaplaceTransformto automatically evaluate forRe[s] == 0as necessary?", as that would also be sufficient to define myFLTransform. – QuaternionsRock Apr 10 '23 at 20:27GenerateConditions->Falsecan help. But only sometimes. – Daniel Lichtblau Apr 11 '23 at 00:03