Classical PD system

Let us introduce the following Ore algebra A of partial differential operators

A=OreAlgebra[Der[x],Der[t]]

the matrix R of partial differential operators

MatrixForm[R=ToOrePolynomial[{{Der[x],a Der[t]},{Der[t],b Der[x]}}]]

and the left A-module, finitely presented by R, defined by M = (A^(1×2))/(A^(1×2))R.
Let us check whether or not M can be decomposed. We first compute the endomorphisms of M defined a constant matrix P:

MatrixForm[morph=Morphisms[R,R,{0,0},p, A]]

From this P, let us try to compute idempotent endomorphisms of M:

MatrixForm/@(PAll=IdempotentMorphisms[morph,R,p,A])

Considering the nontrivial idempotent endomorphism PAll[[2]], we obtain the following decomposition:

MatrixForm[Decomposition[R,PAll[[2]],A]]

Considering the nontrivial idempotent endomorphism PAll[[3]], we obtain the following decomposition:

MatrixForm[Decomposition[R,PAll[[3]],A]]