| #### D.15.6.15 matrixsystem Procedure from library `finitediff.lib` (see finitediff_lib). Usage: matrixsystem(M,A); where the M=Mt,M1,..,Mn is a list with square matrices of the same dimension as entries, and A=At,A1,..,An gives the corresponding approximations for the several variables (t,x1,..,xn) as vector. Intended to solve Mt*U_t + M1*U_x1+..+Mn*U_xn=0 as a linear sytem of partial differential equations numerically by a finite difference scheme; Return: type matrix; gives back the matrices B1,B2 that represent the finite difference scheme, partitioned into different time levels in the form: B1*U(t=N)=B2*U(t<N), where N is the maximal occurring degree (timelevel) of t. Example:
    LIB "finitediff.lib";
    list D="Ut","Ux","Uy","U";
    list V="t","x","y";
    list P="a","b";
    setinitials(V,D,P);
    list Mat=unitmat(2),unitmat(2);
    list Appr=forward(Ut,U,t),forward(Ux,U,x);
    matrixsystem(Mat,Appr);
    ==> _[1,1]=-1/(dt)*t-1/(dx)*x+(dt+dx)/(dt*dx)
    ==> _[1,2]=0
    ==> _[2,1]=0
    ==> _[2,2]=-1/(dt)*t-1/(dx)*x+(dt+dx)/(dt*dx)

User manual for Singular version 4.4.1, 2025, generated by texi2html.