Time-delay Example 2

Example from the paper by C. Califano, S. Li, C.H. Moog.

Let us consider the following differential time-delay nonlinear system:

eqs={(Subscript[x, 1])'[t]-> 2(Subscript[x, 3])[t]((Subscript[x, 1])[t-1]-(((Subscript[x, 2])[t-1])^3))(Subscript[u, 1])[t],
((Subscript[x, 2])'[t]-> (Subscript[x, 2])[t-1](Subscript[u, 2])[t]),
(Subscript[x, 3])'[t]-> ((Subscript[x, 1])[t-1]-(((Subscript[x, 2])[t-1])^3))(Subscript[u, 1])[t]};
vars={(Subscript[x, 1])[t],(Subscript[x, 2])[t],(Subscript[x, 3])[t],(Subscript[u, 1])[t],(Subscript[u, 2])[t]};
TableForm[eqs]

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

replA=ModelToReplacementRules[eqs,t];
A=OreAlgebraWithRelations[Der[t],S[-1][t],replA]

and the matrix R of ordinary differential time-delay operators which defines the generic linearization of the above nonlinear system

MatrixForm[R=ToOrePolynomialD[eqs,vars,A]]

and the left A-module, finitely presented by R, defined by M = (A^(1×5))/(A^(1×3))R.

Let us compute the adjoint of R:

MatrixForm[Radj=Involution[R,A]]

Let us check whether or not M is torsion-free:

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

Since the first matrix is not identity, we deduce that M admits nontrivial torsion elements and thus the corresponding system admits autonomous elements τ[1], ...,  τ[4], defined by:

aut=AutonomousElements[R,{(Subscript[dx, 1])[t],(Subscript[dx, 2])[t],(Subscript[dx, 3])[t],(Subscript[du, 1])[t],(Subscript[du, 2])[t]},τ,A,Relations->True];

aut[[1]]

The autonomous elements τ[1],...,τ[4] satisfy the following equations:

aut[[2]]

The A-linear relations among the autonomous elements are given by:

aut[[3]]

Let us now prove that the set of autonomous elements can be generated by τ[1] (our guess or inspection of aut[[3]]). Let us introduce the matrix L, defining aut[[3]]:

MatrixForm[L=ToOrePolynomialD[aut[[3]],{τ[1][t],τ[2][t],τ[3][t],τ[4][t]},A]]

Let us consider  the following row vector

γ={{1,0,0,0}};

which corresponds to the position of τ[1]. To express τ[2], τ[3] and τ[4] in terms of τ[1] we first check whether or not the matrix Q formed by stacking L with γ admits a left inverse.

S1=LeftInverse[Q=Join[L,γ],A]

If we consider the last column of the left inverse S1 of Q, i.e.

S2=List/@Transpose[S1][[-1]]

then we obtain:

Thread[{τ[1][t],τ[2][t],τ[3][t],τ[4][t]}->ApplyMatrix[S2,{τ[1][t]}]]

From this point we will use some procedures which are not freely available (see NLControl website http://www.nlcontrol.ioc.ee).
Let us integrate the one-form defined by T[1], namely

difs={ApplyMatrixD[Rp[[1]],vars]}

BookForm[sp=SpanK[difs,t]]

Integrability[sp]

IntegrateOneForms[sp]

We finally obtain the above autonomous element of the nonlinear system.

Serre' s reduction techniques

Let us now prove that L is equivalent to a diagonal matrix. Let us consider the column vector Λ

Λ = {{-1},{0},{0},{0}}

and the matrix P obtained by concatenation of L and Λ:

MatrixForm[P=Join[L,Λ,2]]

Let us check again that the matrix P admits a right inverse:

MatrixForm[Pinv=RightInverse[P,A]]

We deduce that the module E, finitely presented by P, is stably free. Let us now check whether or not E is free.

MatrixForm[Q=MinimalParametrization[P,A]]

LeftInverse[Q,A]

We obtain that E is a free module. Let us extract blocs from the matrix Q as follows:

Q1=Take[Q,4]

Q2=Take[Q,-1]

By theory we know that the left A-module N finitely presented by L is isomorphic to the module finitely presented by Q2.
Let now check that the matrix L is equivalent to the diagonal matrix diag(1,1,1,Q2). To do that let us compute a basis of the left kernel of Q1:

U1=LeftKernel[Q1,A]

LeftKernel[U1,A]

Let W1 be a right inverse of U1

W1=RightInverse[U1,A]

and W be the unimodular matrix formed by W1 and Q1:

MatrixForm[W=Join[W1,Q1,2]]

Let us check again that W is unimodular:

LeftInverse[W,A]

Let us form the following matrix

X=Join[OreDot[L,W1],Λ,2]

Let us check that X is unimodular:

V=LeftInverse[X,A]

Finally we obtain that L is equivalent to the following diagonal matrix:

MatrixForm[OreDot[V,L,W]]