Generate an Eigenfunction Expansion
Compute the eigenfunction expansion of the function with respect to the basis provided by a Laplacian operator with Dirichlet boundary conditions on the interval
.
In[1]:=
![Click for copyable input](assets.en/generate-an-eigenfunction-expansion/In_109.png)
basis = DEigensystem[{-Laplacian[u[x], {x}],
DirichletCondition[u[x] == 0, True]}, u[x], {x, 0, \[Pi]}, 6,
Method -> "Normalize"][[2]]
Out[1]=
![](assets.en/generate-an-eigenfunction-expansion/O_54.png)
Compute the Fourier coefficients for the function .
In[2]:=
![Click for copyable input](assets.en/generate-an-eigenfunction-expansion/In_110.png)
f[x_] := E^(-x) x^2 (\[Pi] - x) Sin[4 x]
In[3]:=
![Click for copyable input](assets.en/generate-an-eigenfunction-expansion/In_111.png)
coeffs = (Table[Integrate[f[x] basis[[i]], {x, 0, Pi}], {i, 6}] //
FullSimplify);
Define as the
partial sum of the expansion.
In[4]:=
![Click for copyable input](assets.en/generate-an-eigenfunction-expansion/In_112.png)
eigexp[x_, n_] := Sum[coeffs[[i]] basis[[i]], {i, n}]
In[5]:=
![Click for copyable input](assets.en/generate-an-eigenfunction-expansion/In_113.png)
eigexp[x, 3] // N
Out[5]=
![](assets.en/generate-an-eigenfunction-expansion/O_55.png)
Compare the function with its eigenfunction expansion for different values of .
In[6]:=
![Click for copyable input](assets.en/generate-an-eigenfunction-expansion/In_114.png)
Table[Plot[{f[x], eigexp[x, i]} // Evaluate, {x, 0, Pi}], {i, 3, 6}]
Out[6]=
![](assets.en/generate-an-eigenfunction-expansion/O_56.png)