Tank model 2

Let us introduce the following Ore algebra A of differential time-delay operators

A=OreAlgebra[Der[t],S[-1][t]]

and the matrix R of ordinary differential time-delay operators, which defines a tank model described in Petit, N. and Rouchon, P.,
Dynamics and solutions to some control problems for water-tank systems, IEEE Trans. Automatic Control, 47 (2002), 595-609.

MatrixForm[R=ToOrePolynomial[{
{Der[t],-Der[t] ((S[-1][t])^2),α ((Der[t])^2)S[-1][t]},
{Der[t]((S[-1][t])^2),-Der[t],α ((Der[t])^2)S[-1][t]}
},A]]

and the left A-module, finitely presented by R, defined by M = (A^(1×3))/(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]]