|  |  D.15.6.17 fouriersystem Procedure from libraryfinitediff.lib(see  finitediff_lib).
 
Example:Usage:
fouriersystem(M,A); M a list of matrices, A a list of approximations;
Return:
type list; each entry is some matrix obtained by performing the substitution of the single approximations into the system of pde's, partitioning the equation into the several timesteps and fouriertransforming these parts
 |  | LIB "finitediff.lib";
list D="Ut","Ux","Uy","U";
list V="t","x","y";
list P="a","b";
setinitials(V,D,P);
matrix M[2][2]=0,-a,-a,0;
list Mat=unitmat(2),M;
list Appr=forward(Ut,U,t),trapezoid(Ux,U,x);
def s=fouriersystem(Mat,Appr);s;
==> [1]:
==>    [1]:
==>       [1]:
==>          _[1,1]=(I*T*Sx+T*Cx)
==>          _[1,2]=0
==>          _[2,1]=0
==>          _[2,2]=(I*T*Sx+T*Cx)
==>       [2]:
==>          _[1,1]=(I*Sx+Cx)
==>          _[1,2]=(2*I*Sx*a*dt+2*Cx*a*dt-2*a*dt)/(dx)
==>          _[2,1]=(2*I*Sx*a*dt+2*Cx*a*dt-2*a*dt)/(dx)
==>          _[2,2]=(I*Sx+Cx)
==>    [2]:
==>       [1]:
==>          _[1]=(I*T*Sx+T*Cx)
==>       [2]:
==>          _[1]=(-2*I*Sx*a*dt+I*Sx*dx-2*Cx*a*dt+Cx*dx+2*a*dt)/(dx)
==>          _[2]=(2*I*Sx*a*dt+I*Sx*dx+2*Cx*a*dt+Cx*dx-2*a*dt)/(dx)
==> [2]:
==>    [1]:
==>       [1]:
==>          (T^2)
==>    [2]:
==>       [1]:
==>          (-8*Cx*a^2*dt^2+4*Cx*a*dt*dx+8*a^2*dt^2-4*a*dt*dx+dx^2)/(dx^2)
==>       [2]:
==>          (-8*Cx*a^2*dt^2-4*Cx*a*dt*dx+8*a^2*dt^2+4*a*dt*dx+dx^2)/(dx^2)
 | 
 
 |