Kalman example

Generic study (without defining parameters)

Let denote K = Q (R1, R2, L, C) and let us define the Ore algebra A = K(t)⟨∂⟩, where ∂ is differential operator defined by ∂f(t) = f'(t).

A=OreAlgebra[Der[t]]

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

MatrixForm[R=ToOrePolynomial[{{Der[t]+(1/(R1 C)),0,-(1/(R1 C))},
{0,Der[t]+(R2/L),-(1/L)}},A]]

that is the system defined by:

Thread[ApplyMatrix[R,{(Subscript[x, 1])[t],(Subscript[x, 2])[t],u[t]}]==0]

and the left A-module, finitely presented by R, is M = (A^(1×3))/(A^(1×2))R.
Let us compute the adjoint of the system

MatrixForm[Radj=Involution[R,A]]

MatrixForm/@({Ann,Rp,Q}=Exti[Radj,A,1])

Since the first matrix is identity matrix, we know there is generically no autonomous element (because M is generically torsion free), where the term generically means for almost all values of the parameter R1, R2, C and L. This will be explained below. 
Let us compute a flat output ξ(t) of the system

MatrixForm[T=LeftInverse[Q,A]]

ξ = ApplyMatrix[T,{(Subscript[x, 1])[t],(Subscript[x, 2])[t],u[t]}]

Let us now study the particular case when L-C R1 R2 =0. For this let us define a new Ore algebra B, in which we add the relation  L-C R1 R2 =0 between parameters.

B=OreAlgebra[Der[t],CoefficientNormal -> (Expand[#//.L->C R1 R2]&)]

The new matrix of the system is then

MatrixForm[S=ToOrePolynomial[{{Der[t]+(1/(R1 C)),0,-(1/(R1 C))},
{0,Der[t]+(R2/L),-(1/L)}},B]]

the new system is defined by

Thread[ApplyMatrix[S,{(Subscript[x, 1])[t],(Subscript[x, 2])[t],u[t]}]==0]

and the new left B-module, finitely presented by S, is N = (B^(1×3))/(B^(1×2))S.

Let us compute the adjoint of the system

MatrixForm[Sadj=Involution[S,B]]

MatrixForm/@({Ann,Sp,Q}=Exti[Sadj,B,1])

Since the first matrix is not identity, the system is not controllable (N is not torsion free) and we have one autonomous element, defined by the first row of Sp, namely θ, defined by

ApplyMatrix[{Sp[[1]]},{(Subscript[x, 1])[t],(Subscript[x, 2])[t],u[t]}]

Moreover, θ satisfies the equation

Thread[ApplyMatrix[{{Ann[[1,1]]}},{θ[t]}]==0]

Finally, this result can be obtained directly by means of the command AutonomousElements

AutonomousElements[S,{(Subscript[x, 1])[t],(Subscript[x, 2])[t],u[t]}, θ, B]