Integral transform in finite range

353 Views Asked by At

Fourier transform is an integral transform in infinite range, it can be used for solving constant coefficient linear differential equations defined in $(-\infty,+\infty)$.

Laplace transform is an integral transform in semi-infinite range, it can be used for solving initial value problem (IVP) of constant coefficient linear differential equations defined in $[0,+\infty)$.

Then does there exist integral transform(s) in finite range so I can use it for solving boundary value problem (BVP) of constant coefficient linear differential equations defined in e.g. $[a,b]$?

To make the question more specific, can I solve the following BVP

$$\frac{\partial ^2u(x,y)}{\partial x^2}+\frac{\partial ^2u(x,y)}{\partial y^2}=1$$ $$u(0,y)=0,\ u(1,y)=0$$ $$u(x,0)=0,\ u(x,2)=0$$

in $[0,1]×[0,2]$ with some kind of integral transform? (Yeah I don't want to use separation of variable. )

1

There are 1 best solutions below

0
On

Yes, there exist such transforms, including but not limited to finite Fourier transforms and finite Hankel transforms. A detailed introduction can be found in Chapter 10 and Chapter 13 of this book, and an implementation of finite Fourier transform in Mathematica can be found here.

In the rest part of the answer, I'll solve the specific example mentioned in the question with finiteFourierSinTransform. First, interpret the equation to Mathematica code:

With[{u = u[x, y]},
 eq = Laplacian[u, {x, y}] == 1;
 bc@x = u == 0 /. {{x -> 0}, {x -> 1}};
 bc@y = u == 0 /. {{y -> 0}, {y -> 2}};]

Then transform the equation with finiteFourierSinTransform:

(* Definition of finiteFourierSinTransform isn't included in this post,
   please find it in the link above. *)
{teq, tbc@y} = 
 finiteFourierSinTransform[{eq, bc@y}, {x, 0, 1}, n] /. Rule @@@ bc@x /. 
  HoldPattern@finiteFourierSinTransform[a_, __] :> a

Mathematica graphics

Remark

Notice I've stripped off finiteFourierSinTransform. Just remember that u[t, x] actually denotes finiteFourierSinTransform[u[t, x], {x, 0, a}, n] in {teq, tbc@y}.

Next step is to transform the equation again, this time with respect to y:

tteq = finiteFourierSinTransform[teq, {y, 0, 2}, m] /. Rule @@@ tbc@y /. 
  HoldPattern@finiteFourierSinTransform[a_, __] :> a

Mathematica graphics

OK, now it's just a simple equation, solve it and transform back:

ttsol = u[x, y] /. First@Solve[tteq, u[x, y]]

sol = inverseFiniteFourierSinTransform[
  inverseFiniteFourierSinTransform[ttsol, m, {y, 0, 2}], n, {x, 0, 1}]

Mathematica graphics

Finally, an illustration for the solution:

Plot3D[Block[{C = 7, HoldForm = Identity}, sol] // Evaluate, {x, 0, 1}, {y, 0, 2}]

Mathematica graphics