Wind Tunnel

Let us note k = K [a, k, ω, ζ] and let us define the Ore algebra A = K(t)[∂, δ], where ∂ is ordinary differential operator defined by ∂f(t) = f'(t) and δ is a shift operator defined by δ f(t) = f(t+1).

A=OreAlgebra[Der[t],S[-1][t],a,k,ω,ζ]

We consider the system defined by the matrix R ∈ (A^(3×4)) given by

mat={{Der[t]+a,-k a S[-1][t],0,0},
{0,Der[t],-1,0},{0,(ω^2),Der[t]+2 ζ ω,-(ω^2)}};
MatrixForm[R=ToOrePolynomial[mat,A]]

and the left A-module, finitely presented by R, is M = (A^(1×4))/(A^(1×3))R. 
Let us compute the obstruction for M to be projective

P=ObstructionToProjectiveness[R,A]

Let us deduce the obstructions in δ for M to be a projective left A-module.

obs=OreIntersection[Flatten[P],{S[-1][t]},A]

Hence we obtain that B ⊗ M is projective over the ring B = A⟨σ⟩ / ⟨δ σ -1, σδ - 1⟩, where σ is defined by σf(t)=f(t+1) (i.e. the two sided inverse of δ).

AnT=AnnihilatorTorsionModule[R,A]

Let us compute the paramterization of the system

MatrixForm[param=Parametrization[R,ξ,A]]

We note that this parametrization is a minimal one:

MatrixForm/@(L=MinimalParametrizations[R,A])

Let us check whether or not L admits a left inverse:

LeftInverse[L[[1]],A]

We obtain that L is not an injective parametrization over A. Let now define the following Ore algebra

B=OreAlgebra[Der[t]]

and if we substitute S[-1][t] by δ, i.e.

L1=L[[1]]/.S[-1][t]->δ

L2=ChangeOreAlgebra[L1,B]

then we obtain that the matrix L2 admits the following left inverse:

MatrixForm[T=Factor[iOrePolynomialToNormal[LeftInverse[L2,B]]]]

Therefore if we use the advance operator σ = (δ^(-1)) then flat outputs of the system are defined by ξ = T((Subscript[x, 1]),(Subscript[x, 2]),(Subscript[x, 3]),u).

Let us try to decompose the system. We first compute some endomorphisms of M

P=Morphisms[R,R,{1,0},p, A]

Let us try to see if among the above endomorphisms we can find some nontrivial idempotents

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

We find that the only idempotents among the above endomorphisms are the trivial ones. Let us then try to find Λ such that ΛRΛ=-Λ so that P=I+ΛR defines a nontrivial idempotent:

P2=PAll[[2]]

MatrixForm[ric=Riccati[R,P2,{0,0},p,A]]

P=P2+OreDot[ric,R]

From this idempotent P we can obtain the following decomposition of the system

MatrixForm[Decomposition[R,P,A]]