#### D.15.6.16 timestep

Procedure from library `finitediff.lib` (see finitediff_lib).

Usage:
  timestep(M); M a square matrix with polynomials over the basering as entries;

Return:
  type list; gives two matrices M1,M2 that are the splitting of M with respect to the degree of the variable t in the entries, where the first list-entry M1 consists of the polynomials of the highest timelevel and M2 of the lower levels in the form: M=0 => M1=M2, i.e. M1-M2=M

Note:
  intended to be used for the finite-difference-scheme-construction and partition into the several time steps

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 Apr=forward(Ut,U,t),forward(Ux,U,x);
    matrixsystem(Mat,Apr);
    ==> _[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)
    timestep(_);
    ==> [1]:
    ==>    _[1,1]=t
    ==>    _[1,2]=0
    ==>    _[2,1]=0
    ==>    _[2,2]=t
    ==> [2]:
    ==>    _[1,1]=(-dt)/(dx)*x+(dt+dx)/(dx)
    ==>    _[1,2]=0
    ==>    _[2,1]=0
    ==>    _[2,2]=(-dt)/(dx)*x+(dt+dx)/(dx)

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