#### 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.